柚子快報(bào)邀請(qǐng)碼778899分享:網(wǎng)絡(luò) UDP編程:
柚子快報(bào)邀請(qǐng)碼778899分享:網(wǎng)絡(luò) UDP編程:
具體使用packet和socket完成
1.DatagramSocket與DatagramPacket
2.創(chuàng)建發(fā)送端,接收端
3.創(chuàng)建數(shù)據(jù)報(bào),用于存儲(chǔ)數(shù)據(jù)
4.調(diào)用Socket的發(fā)送,接受方法
5.關(guān)閉Socket
發(fā)送端和輸出端是兩個(gè)獨(dú)立的運(yùn)行程序:
發(fā)送端:
public class send {
public static void main(String[] args) {
try{
DatagramSocket datagramSocket= new DatagramSocket();
byte[] bytes="你好接收端".getBytes();//發(fā)送的數(shù)據(jù)
//封裝一個(gè)數(shù)據(jù)報(bào)
DatagramPacket datagramPacket= new DatagramPacket(bytes,0,bytes.length,InetAddress.getByName("186.192.153.144"),5555);
//引號(hào)內(nèi)數(shù)字是電腦的地址,后面數(shù)字則是輸出和接收兩端匹配的密碼
datagramSocket.send(datagramPacket);
datagramSocket.close();
} catch (SocketException e) {
e.printStackTrace();
}catch(UnknownHostException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}}
接收端:
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(5555);
System.out.println("服務(wù)器啟動(dòng)成功");
Socket socket = serverSocket.accept();
System.out.println("有客戶連接到了服務(wù)器");
InputStream inputstream= socket.getInputStream();
DataInputStream dataInputstream = new DataInputStream(inputstream);
String s = dataInputstream.readUTF() ;
System.out.println("客戶端說(shuō):"+s);
OutputStream outputstream = socket.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(outputstream);
Scanner scanner=new Scanner(System.in);
System.out.println("服務(wù)器端輸入:");
String s1 = scanner.next();
dataOutputStream.writeUTF(s1);
} catch (IOException e) {
e.printStackTrace();
System.out.println("服務(wù)器啟動(dòng)失敗,端口被占用");
}
}
柚子快報(bào)邀請(qǐng)碼778899分享:網(wǎng)絡(luò) UDP編程:
精彩文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。