tcp
来源:互联网 发布:linux piwik 安装 编辑:程序博客网 时间:2024/05/18 14:42
Tcp主要是面向连接的协议,建立连接要经过三次握手,客户端和服务端都要经过对方确认.建立好连接之后,双发便开始传递消息,这就好比打电话,双方要打通了才能说话。
server端
server端要做的就是建立一个端点,然后等待客户端发送请求。
java中的实现方式是:
1.创建一个ServerSocket的实例,并指定本地端口,这个端口就是客户端在连接的时候与之通信的端口
2.循环等待用户连接:
- 调用ServerSocket的accept()方法来获得客户端的连接请求。通过accept()方法返回的socket实例,这样就建立了一个和客户端的新连接。
- 启动一个线程,把这个新连接和线程绑定
- 把这个线程加入到线程池中,不断的监听客户端发来的数据
try{
serverSocket=new ServerSocket(50000);//启动服务器
}catch(IOException e)
{
System.out.println("服务器没有启动。。。");
}
while(true)//循环等待用户连接
{
i++;
try{
CommunicationThread comm=new CommunicationThread(i,serverSocket.accept());//创建请求服务器的线程对象
// System.out.println("socket端口号:"+serverSocket.accept().getPort());
communications.put(i,comm);//将线程放入线程池中
comm.start();
}catch(IOException e)
{
System.out.println("服务器读写异常!");
}
}
客户端
客户端的请求过程稍微有点不一样:
1.构建Socket实例,通过指定的远程服务器地址和端口来建立连接。
2.通过Socket实例的InputStream方法和OutputStream方法来进行数据的读写。
3.操作结束后调用socket实例的close方法,关闭。
- // 1.根据指定的server地址和端口,建立socket连接。
- Socket socket = new Socket(server, servPort);
- // 2. 根据socket实例获取InputStream, OutputStream进行数据读写。
- InputStream in = socket.getInputStream();
- OutputStream out = socket.getOutputStream();
- out.write(data);
- //3.操作结束,关闭socket.
- socket.close();
- tcp
- TCP
- TCP
- tcp
- tcp
- tcp
- tcp
- tcp
- TCP
- TCP
- TCP
- tcp
- TCP
- tcp
- TCP
- TCP
- tcp
- TCP
- CodeForces570D - Tree Requests 【dfs序】
- -webkit-linear-gradient 学习
- WEB开发2--request&response
- Linux ELF文件
- python核心编程学习笔记-2016-10-01-01-客户端COM编程
- tcp
- 正则表达式
- Trapping rain water
- intellij idea 2016 注册码
- JVM指令集
- 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
- Struts2
- BZOJ 2330 查分约束
- 第一节:开发工具介绍及环境变量配置(讲师笔记篇)