您的位置:首页 > 理论基础 > 计算机网络

java基础学习-- 网络编程之TCP和UDP

2012-03-19 21:16 776 查看
网络编程:ServerSocket、SocketTCP协议客户端:public class TestClient { public static void main(String[] args) throws Exception { Socket sc = new Socket("127.0.0.1",8888); BufferedReader br = new BufferedReader(new InputStreamReader(sc.getInputStream())); System.out.println(br.readLine()); sc.close(); br.close(); }
}服务端:public class TestServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8888); System.out.println("等待客户端连接......"); Socket client = ss.accept(); PrintWriter pw = null; String str = "今天天气好晴朗,适合打篮球呀"; pw = new PrintWriter(client.getOutputStream()); pw.print(str); pw.close(); client.close(); ss.close(); }}
UDP协议发送端:public class UdpSend { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(); String str = "今天天气好晴朗,春天来了"; byte[] bys = str.getBytes(); InetAddress ia = InetAddress.getByName("192.168.1.102"); DatagramPacket dp = new DatagramPacket(bys,bys.length, ia, 2323); ds.send(dp); ds.close(); }
}接受端:public class UdpReceive { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(2323); byte[] bys = new byte[1024]; DatagramPacket dp = new DatagramPacket(bys, bys.length); ds.receive(dp); String str = new String(dp.getData(),0,dp.getLength()); System.out.print(dp.getAddress().getHostName()); System.out.print(dp.getPort()); System.out.println(str); }
}
UDP与TCP的区别:UDP:将数据及源和目的封装成数据包;每个数据包限制在64K方位内;是不可靠协议;不需要建立连接,速度快TCP:需要连接,建立传输数据的通道;在连接中进行大量数据传输;通过三次握手完成连接,是可靠协议;必须建立连接,效率稍微低些本文出自 “java技术” 博客,请务必保留此出处http://ibill.blog.51cto.com/2210057/810787
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: