Socket優(yōu)化
// 發(fā)送方
public class Demo1_SendSocket {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in); // 獲取鍵盤輸入流
DatagramSocket socket = new DatagramSocket(); // 創(chuàng)建socket對象
while (true) {
String line = sc.nextLine(); // 獲取鍵盤錄入
if ("quit".equals(line)) { // 如果輸入quit則退出連接
break;
}
DatagramPacket packet = // 創(chuàng)建數(shù)據(jù)包對象
new DatagramPacket(line.getBytes(), line.getBytes().length, InetAddress.getByName("127.0.0.1"),
6666);
socket.send(packet); // 發(fā)送數(shù)據(jù)包
}
socket.close(); // 關(guān)閉socket對象
}
}
// 接收方
public class Demo2_ReceiveSocket {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(6666); // 創(chuàng)建socket連接
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
while (true) {
socket.receive(packet); // 接收消息
byte[] arr = packet.getData(); // 提取數(shù)據(jù)
int len = packet.getLength(); // 獲取有效字節(jié)個數(shù)
String ip = packet.getAddress().getHostAddress(); // 獲取IP地址
int port = packet.getPort(); // 獲取端口號
System.out.println(ip + ":" + port + ":" + new String(arr, 0, len));
}
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。