tcp协议案例
来源:互联网 发布:matlab和python 编辑:程序博客网 时间:2024/06/02 06:31
tcp协议理解
需要建立客户端(Socket)和服务器端(ServerSockt)。建立连接后,通过socket中io流进行数据传输。
package com.neutron.network.tcp.demo;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;/** * tcp协议的客户端 * @author zhanght * */public class Client {/** * tcp分为客户端和服务器端[udp分为发送端和接收端] * tcp客户端对应的对象是Socket,服务器端对应对象是ServerSocket对象 * [udp发送端和劫手段都是DatagramSocket对象] * * 通过查询客户端Socket对象,该对象建立的时候就可以连接特定主机[udp发送端需要在send时候指定接收端] * 因为tcp是面向连接的,在建立socket服务时,就要有客户端存在,并且连接成功。只有在形成通路后,才能在该通道进行数据传输。 * * 使用步骤: * 1.创建Socket服务,指定主机名称和端口 * 2.获取输出流,然后从输出流中发送数据到服务器端 * 3.获取数据流,然后从输入流中获取服务器端发送回来的数据 */public static void main(String[] args) throws UnknownHostException, IOException {// 创建Socket服务,指定主机名称和端口@SuppressWarnings("resource")Socket client = new Socket("127.0.0.1", 10003);// 发送数据,获取输出流OutputStream out = client.getOutputStream();// 准备发送的数据byte[] datas = "tcp client hello world!".getBytes();// 发送数据out.write(datas);//为何不关闭客户端,因为在服务器端将客户端关闭}}
package com.neutron.network.tcp.demo;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;/** * tcp服务器端 * @author zhanght * */public class Server {/** * 1.建立服务端的服务,ServerSocket,服务端服务绑定端口 * 2.获取连接过来的客户端对象 * 3.使用客户端对象获取读取流来读取数据 * 4.关闭客户端(看情况) * 5.tcp协议中必须首先启动服务器端服务 */public static void main(String[] args) throws IOException {// 建立服务端的服务,ServerSocket,服务端服务绑定端口@SuppressWarnings("resource")ServerSocket server = new ServerSocket(10003);// 获取连接过来的客户端,使用ServerSocket的accept方法,没有连接就会等待,阻塞式方法Socket client = server.accept();// 获取客户端对象的读取流InputStream in = client.getInputStream();// 存取数据的变量byte[] datas = new byte[1024];// 存读取的数据,并获取数据长度int len = in.read(datas);// 构建获取的数据String message = new String(datas, 0, len);System.out.println("client message:" + message);System.out.println("client hostname:" + client.getInetAddress().getHostAddress());System.out.println("client port:" + client.getPort());//关闭客户端client.close();}}
注意事项:必须首先开启服务器端服务,然后开启客户端服务
0 0
- tcp协议案例
- TCP协议实现数据传输的简单案例
- TCP协议发送文件小案例
- 心得13--网络编程4-TCP协议案例分析
- Socket编程下篇-----TCP协议的C/S案例
- tcp案例
- TCP协议
- tcp协议
- tcp协议
- TCP协议
- TCP协议
- TCP协议
- TCP协议
- TCP协议
- TCP协议
- TCP协议
- TCP协议
- TCP协议
- 【bzoj4521】【CQOI2016】【手机号码】【数位dp】
- 数据挖掘环境配置(一)JDK在ubuntu 16.04下的安装配置
- eclipse中创建dynamic web project项目
- javascript中获取参数的方法
- 【GMT】使用变量的时候,空格不可以乱加
- tcp协议案例
- 3--编译预处理
- 栈的运用-四则运算表达式求值
- Anroid 加载图片方式一 使用SmartImageView
- 使用SQl方法把多行字符直接转换成相应的表输出
- 全端工程师必备技能汇总
- ZOJ 3946 Highway Project(Dijkstra)
- 优先级队列
- 官文:从今天开始开发iOS应用(Swift)第一章4~5节纯中文