JAvaネットワークプログラミング--UDPプロトコル

1770 ワード

Javaネットワークプログラミング、ここでは2つの一般的なプロトコル、TCPとUDPを紹介します.UDP特徴:1接続なし  2信頼できない  3サイズ64 K  4効率性が高い(接続がないため)   UDPの例は放送局で、あなたが受信しても受信しなくても、私はすでに放送しました.TCP特徴:1接続あり  2比較的信頼性が高い  3データ量が多い      TCPの例:電話をかけるには、通話が必要です.以下はコードで、比較的に簡単で、参考だけをします


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UdpSender {

	public static void main(String[] args) throws Exception {

		DatagramSocket ds = new DatagramSocket();
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		byte [] buf = new byte[1024];
		while((buf = br.readLine().getBytes())!=null){
			if("110".equals(new String(buf,0,buf.length)))
					break;
			DatagramPacket gp = new DatagramPacket(buf, buf.length,InetAddress.getByName("192.168.2.192"),888);
			ds.send(gp);

		}
		ds.close();
		br.close();
	}
}





import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UdpReceiver {
	public static void main(String[] args) throws Exception {

		DatagramSocket ds = new DatagramSocket(888);

		while(true){
			byte[] buf = new byte[1024];
			DatagramPacket dp = new DatagramPacket(buf, buf.length);
			ds.receive(dp);

			String ip = dp.getAddress().getHostAddress();

			int port = dp.getPort();

			System.out.println(new String(dp.getData(),0,dp.getLength())+"--"+ip+"---"+port);
		}
	}
}