TCP和UDP协议信息传递
2016-03-22 19:56
477 查看
TCP:分客户端和服务端。
TCPServer.java:
TCPClient.java:
UDPServer.java:
UDPClient.java:
TCPServer.java:
package com.buaa.tcpDemo01; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String[] args) throws Exception{ ServerSocket server = new ServerSocket(4444); Socket socket = server.accept(); OutputStream os = socket.getOutputStream(); InputStream is = socket.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String data = reader.readLine(); System.out.println(data); os.write("From Server:hi,I am server .\n".getBytes()); reader.close(); is.close(); os.close(); } }
TCPClient.java:
package com.buaa.tcpDemo01; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; public class TCPClient { public static void main(String[] args) throws Exception{ Socket socket = new Socket("127.0.0.1",4444); OutputStream os = socket.getOutputStream(); os.write("From Client:Hi,I am Client .\n".getBytes()); InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String data = br.readLine(); System.out.println(data); br.close(); is.close(); os.close(); } }
UDPServer.java:
package com.buaa.udpDemo01; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UDPServer { public static void main(String[] args) throws Exception{ DatagramSocket ds = new DatagramSocket(5555); byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,1024); ds.receive(dp); String data = new String(dp.getData(),0,dp.getLength()); System.out.println(data); InetAddress addr = dp.getAddress(); int port = dp.getPort(); byte[] echo = "From Server:echo..........".getBytes(); DatagramPacket dp2 = new DatagramPacket(echo,echo.length,addr,port); ds.send(dp2); ds.close(); } }
UDPClient.java:
package com.buaa.udpDemo01; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UDPClient { public static void main(String[] args) throws Exception{ DatagramSocket ds = new DatagramSocket(); InetAddress addr = InetAddress.getByName("127.0.0.1"); byte[] data = "From Client:Hi,I am Client .".getBytes(); DatagramPacket dp = new DatagramPacket(data,data.length,addr,5555); ds.send(dp); byte[] buf = new byte[1024]; DatagramPacket dp2 = new DatagramPacket(buf,1024); ds.receive(dp2); String echo = new String(dp2.getData(),0,dp2.getLength()); System.out.println(echo); ds.close(); } }
相关文章推荐
- 关于网络安全的登录方式
- tcp 状态转移图详解
- linux 网络属性配置之ifcfg 、ip/ss、配置文件
- APNs推送的测试工具(使用新的HTTP2 api)
- android的五种存储方式SharedPreferences、文件存储、SQLite数据库、ContentProvider、网络存储
- RTCP协议介绍
- IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
- Nginx + https + 免费SSL证书配置指南
- 基于深度循环神经网络(DRNN)的单通道音乐人声分离
- Tomcatserverhttps协议配置简单介绍
- BZOJ 1001 狼抓兔子 (网络流最小割/平面图的对偶图的最短路)
- linux网络属性配置
- CloseableHttpClient
- java调用Http请求 -HttpURLConnection学习
- Linux后台网络编程中select/poll/epoll的比较分析
- UNIX网络编程:select,epoll,poll比较
- 使用node的http模块实现爬虫功能,并把爬到的数据存入mongondb
- 转:http2基本中文翻译
- Java网络编程之Socket与SocketServer
- 转:http2的资料与使用