JAVA的TCP通信完全解释
来源:互联网 发布:免流软件制作 编辑:程序博客网 时间:2024/05/16 01:14
- TCP的原理和过程
TCP是面向连接的协议,也就是说,在双方都确认连接的情况下,才会继续发送数据。其具体过程如下图所示
其中三步握手的过程解释如下:
第一步,客户端发送一个连接请求到服务器,如果没有收到响应或者服务器返回失败则客户端返回失败,不能正确连接。
第二步,服务器端在接收到连接请求后,发回一个同意请求连接,返回给客户端,并且等待客户端的第三次回应,如果没有回应,服务器端关闭连接。
第三步,客户端端收到服务器的同意请求后,再次发送一个同意连接。至此连接建立。剩下的就是TCP数据交互过程。
JAVA的TCP通信过程。
分为TCP的SERVER和TCP的CLIENT。即服务器端和客户端通信模型,注意,服务器端先运行,否则客户端会因为无法连接服务器端而产生错误。服务器一直在监听。然后客户端开始运行,并且请求连接服务器(TCP的连接是不需要用户名和密码的),连接成功后,发送数据(在本例子中就是简单的发送一个数字)。
TCPServer.java
import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class TCPServer {public static void main(String[] args) {// TODO Auto-generated method stub//监听类ServerSocket server;//套接字类Socket client;//输入流InputStream is;try{server=new ServerSocket(9999);//开始监听,收到一个套接字client=server.accept();System.out.println("connection from:"+client.getRemoteSocketAddress());//取得数据is=client.getInputStream();System.out.println(is.read());client.close();server.close();}catch(Throwable t){t.printStackTrace();}System.out.println();}}
TCPClient.java
import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;public class TCPClient {public static void main(String[] args) {// TODO Auto-generated method stubSocket client;OutputStream os;InetAddress ia;try{//名称转换为IPia=InetAddress.getByName("localhost");//建立一个套接字client=new Socket(ia,9999);os=client.getOutputStream();//向服务器发送数据os.write(1);client.close();}catch(Throwable t){t.printStackTrace();}}}
运行后输出结果截图:
本文来自IT部落格,转载请注明,http://www.itbuluoge.com,~致力于编程、算法、数据库技术的分享
1 0
- JAVA的TCP通信完全解释
- TCP、UDP绑定同一端口通信的解释
- 【转】TCP 和 UDP 绑定同一端口通信的解释
- TCP、UDP绑定同一端口通信的解释
- TCP、UDP绑定同一端口通信的解释
- TCP、UDP绑定同一端口通信的解释
- TCP 和 UDP 绑定同一端口通信的解释
- TCP、UDP绑定同一端口通信的解释-转
- TCP、UDP绑定同一端口通信的解释
- TCP、UDP绑定同一端口通信的解释
- java编写TCP方式的通信程序
- java编写TCP方式的通信程序
- java编写TCP方式的通信程序
- 一个java的TCP通信例子
- Java基于TCP/IP的Socket通信
- Java中基于TCP的Socket通信
- ## Java TCP 通信的简单例子 ##
- java 基于TCP的Socket网络通信
- Java界面 SWT基本组件——列表框(List)
- spring 配置文件
- 二、oracle sql*plus常用命令
- flex中关于文件的的添加和删除问题
- 小遇dblink
- JAVA的TCP通信完全解释
- Longest Substring Without Repeating Characters
- Django 的数据库查询
- 三、oracle 用户管理一
- Linux的su命令与su - 命令的区别
- 即时通讯软件openfire+spark+smack
- 四、oracle 用户管理二
- 如何定位WinCE产生Data Abort错误的位置
- 产品需求模型之马斯洛需求层次理论