`
annan211
  • 浏览: 447918 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 网络编程--UDP协议

 
阅读更多


Java 网络编程,这里介绍两种常用协议,TCP 和 UDP。

UDP 特点 : 1 无连接  2 不可靠  3 大小64K  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);
		}
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics