TCP Socket通信是一种比较常用的基于连接的网络通信方式。本文通过Java实现TCP Socket通信,并将其用于计算机端、Android手机端,同时做到代码规范化,实现代码最大化复用。
本文代码可在GitHub下载,建议对照源码阅读文章 https://github.com/jzj1993/JavaTcpSocket
TCP连接的建立
客户端和服务器间通过三次握手...
分类:
移动开发 时间:
2015-02-28 16:36:56
阅读次数:
292
TCP (传输控制协议)建立连接,形成传输数据的通道在连接中进行大数据传输 (数据大小不受限制)通过三次握手完成连接,是可靠协议,安全送达必须建立连接,效率会稍低 ps:三次握手 第1次 客户端 --发起连接--> 服务器 第2次 客户端 服务器 类似于生活中拨...
分类:
其他好文 时间:
2015-02-27 15:09:07
阅读次数:
139
传输层定义了主机程序之间端到端的连通性。传输层最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)。学习目标:
1. 掌握TCP和UDP的工作原理
2. 描述TCP和UDP的报文格式
3. 了解常见服务的应用端口号
TCP位于TCP/IP模型的传输层,它是一种面向连接的端...
分类:
其他好文 时间:
2015-02-25 22:23:37
阅读次数:
483
Transmission Control Protocol传输控制协议User Data Protocol 用户数据报协议1. TCP和UDP区别:TCPUDP是否连接面向连接面向非连接传输可靠性可靠的不可靠的应用场合传输大量的数据少量数据速度慢快? TCP在创建连接时需要进行三次握手,确认连接后....
分类:
其他好文 时间:
2015-02-14 12:19:24
阅读次数:
169
记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。对我而言, wire...
分类:
其他好文 时间:
2015-02-10 13:06:46
阅读次数:
201
1.TCP连接在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图所示:(1)第一次握手:建立连接,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认.(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1...
分类:
其他好文 时间:
2015-02-10 00:23:01
阅读次数:
172
TCP是一种面向连接、可靠的协议。TCP连接的建立与断开,都是需要经过通信双方的协商。用一句话概括就是:三次握手say hello(建立连接);四次握手say goodbye(断开连接)。要了解TCP连接的建立与断开,就不得不需要了解TCP头的内容。然而,TCP头及其复杂,概括而言,我们需要了解以下...
分类:
其他好文 时间:
2015-02-09 22:53:28
阅读次数:
592
该掸掸这里的灰尘了,写一篇关于TCP的文章吧。今天的主题是TCP的滑动窗口。在开始这个话题之前,我想先提几个关于TCP协议的常见误区。误区1:TCP协议三次握手过程中后两个包都是[ACK]包。解释:这种说法并不错,只是不严谨。首先,第一个包是[SYN],SYN位在TCP报头flag字段中,..
分类:
其他好文 时间:
2015-02-09 11:13:33
阅读次数:
169
上图18-13是TCP连接建立和关闭的抽象图,下面的图18-3是具体实例
其中包括:三次握手(建立连接)、四次挥手(终止连接)
三次握手:SYN/FIN的序列号可理解为通信操作的version
client发送一个SYN(握手信号)给server的端口,SYN中包括client的初始序列号ISN-client;
se...
分类:
其他好文 时间:
2015-02-02 12:32:32
阅读次数:
155
CLOSED:这个没什么好说的了,表示初始状态。 LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。 SYN_RCVD:这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中...
分类:
其他好文 时间:
2015-01-31 14:31:48
阅读次数:
217