传输层TCP和UDP编程模型
来源:互联网 发布:设计本软件下载 编辑:程序博客网 时间:2024/05/21 06:34
最近接触了基于这个编程模型的编程,基础编程再次熟悉了一下
一、TCP编程
服务器端:
1、创建ServerSocket对象,绑定端口
2、通过accept()监听客户端请求
3、建立连接后,通过输入输出流进行读写操作
4、关闭相关资源
客户端:
1、创建socket对象,指定服务端的地址和端口
2、通过输入输出流进行读写操作
3、关闭相关资源
Server服务器端;
System.out.println("服务端启动");ServerSocket server =new ServerSocket(44445);Socket socket=server.accept();System.out.println(socket.getInetAddress().getHostAddress()+"连接到服务器");InputStream in=socket.getInputStream();//读取客户端数据的读取流FileOutputStream fos=new FileOutputStream("C:\\222.txt");//写入文件的字节输出流OutputStream out=socket.getOutputStream();//发送“上传成功”的字节输出流byte[] arr=new byte[1024];//循环读取客户端写入文件int len=0;while((len=in.read(arr))!=-1){fos.write(arr,0,len);}fos.close();out.write("上传成功".getBytes());socket.close();
Client客户端:
Socket socket = new Socket("localhost", 44445);FileInputStream fis = new FileInputStream("C:\\1.txt");// 读取本地图片的字节读取流OutputStream out = socket.getOutputStream();// 给服务器端发送数据的字节输出流InputStream in = socket.getInputStream();// 读取“上传成功”的字节读取流byte[] arr = new byte[1024];// 循环读取本地文件,发送给服务器int len = 0;while ((len = fis.read(arr)) != -1) {out.write(arr, 0, len);}socket.shutdownOutput();// 向服务器写入结束标记int num = in.read(arr); // 读取“上传成功”System.out.println(new String(arr, 0, num));fis.close();socket.close();
二、UDP编程
使用UDP协议实现数据的接受和发送--DatagramSocket
服务器端
1、创建socket,监听端口
2、使用socket的接收功能接收数据
客户端
1、创建socket
2、要发送的字节数据并打包封装为数据报包
3、使用socket发送打包后的数据Server服务器端接受数据
DatagramSocket socket=new DatagramSocket(11111);//创建socket端口,并监听端口byte[] arr=new byte[1024];//创建空的数据报包接受数据DatagramPacket packet=new DatagramPacket(arr,arr.length);socket.receive(packet);//使用socket的接受功能接受数据byte[] data=packet.getData();//获取接收到的数据String connect=new String(data,0,packet.getLength());//解码获取内容InetAddress address=packet.getAddress();String ip=address.getHostAddress(); //获取发送数据方的主机名int port=packet.getPort(); //得到发送方发送数据使用的端口System.out.println("收到了"+ip+": "+port+"内容:"+connect);socket.close();
Client客户端发送数据
DatagramSocket socket =new DatagramSocket();//创建socket端点String ss="hello 你好";byte[] data=ss.getBytes();//发送的数据//把发送的数据封装成数据包 数据,长度,主机地址,端口DatagramPacket packet=new DatagramPacket(data,data.length,InetAddress.getByName("192.168.1.101"),11111);socket.send(packet);//发送数据socket.close();
0 0
- 传输层TCP和UDP编程模型
- 传输层和TCP、UDP
- Unix网络编程—传输层:TCP和UDP
- 传输层:TCP、UDP和SCTP
- 传输层TCP和UDP的区别
- 传输层TCP和UDP的区别
- 传输层协议TCP和UDP
- 传输层:TCP、UDP和SCTP
- 网络传输层TCP,和UDP详解
- UDP和TCP(传输层)
- 【tcp-ip学习总结】传输层协议UDP和TCP
- unix网络编程第2章:传输层:TCP,UDP和SCTP
- UNIX网络编程笔记 第二章 传输层TCP、UDP和SCTP
- Unix网络编程:第二章 传输层:TCP、UDP和SCTP
- UNIX网络编程--传输层:TCP、UDP、SCTP(二)
- 【UNIX网络编程读书笔记】第二章 传输层 TCP/UDP
- Unix网络编程(二)传输层UDP,TCP协议
- Unix网络编程二:传输层:TCP、UDP、SCTP
- 网络编程_多线程实现聊天室程序
- 方立勋_30天掌握JavaWeb_MySQL和表约束
- java不用时间格式打印日历
- Android杂谈:如何通过看google工程师的提交记录获取第一手Android资料
- 1602液晶显示温湿度
- 传输层TCP和UDP编程模型
- 泛型编程
- 关于idea中有些时候代码找不到的问题
- 简单工厂模式
- freetype中FT_Set_Transform()和FT_Load_Char()分析(待续)
- iOS开发之
- 矩阵论01—矩阵的奇异值分解
- WebService
- iOS与H5的交互【WKWebView】