亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我的sb.append()函數sb.append(new String(bytes))之后的sb.append()語句不執行是怎么回事

package?com.lzj.test8_4;

import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;

public?class?UdpServerThread?extends?Thread{
	private?static?int?count?=?0;
	private?DatagramSocket?socket;
	public?UdpServerThread(DatagramSocket?socket)?{
		this.socket?=?socket;
	}
	@Override
	public?void?run()?{
		while(true){
			try?{
				//接收來自客戶端傳來的消息
				byte[]?bytes?=?new?byte[1024];
				DatagramPacket?packet?=?new?DatagramPacket(bytes,0,bytes.length);
				socket.receive(packet);
				System.out.println(new?String(bytes));
				//向客戶端發送消息
				InetAddress?addr?=?packet.getAddress();
				int?port?=?packet.getPort();
				StringBuilder?sb?=?new?StringBuilder();
				sb.append("服務器返回:");
				sb.append(count++);
				sb.append(new?String(bytes));
				sb.append("呵呵");
				byte[]?res?=?sb.toString().getBytes();
				DatagramPacket?cpacket?=?new?DatagramPacket(res,res.length,addr,port);
				socket.send(cpacket);
			}?catch?(IOException?e)?{
				e.printStackTrace();
			}
		}
	}
		
}


正在回答

1 回答

因為這個里面的bytes是有固定長度的,是1024,而讀取時,讀的最多也是1024光一個bytes的字符串就站滿了,所以要修改,sb.append(new String(bytes).trim());這樣就好了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我的sb.append()函數sb.append(new String(bytes))之后的sb.append()語句不執行是怎么回事

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號