利用socket实现双机通信

1、1 什么是TCP

tcp是一种面向连接(连接导向)的,可靠的,基于字节流的运输层通信协议。在简化的计算机网络OSI模型中,他完成第四层传输层所指订的的功能。

    应用层向tcp层发送用于网络间传送的,用8为字节表示的数据流,然后TCP把数据流分割成设当的长度的报文段。之后TCP把结果包传送给ip层,又他来通过网络将包传送给接收端实体的TCP层。tcp为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端试题的包的按序接受。然后接收端实体1对已成功收到的字节发挥一个相应的确认ack;如果发送短尸体在合理的往返时延(RTT)内未收到确认,那么对应的数据将会被重传。TCP用一个效验和函数来检验数据是否有错误,在发送和接受时都要计算效验和。

    首先,TCP建立链接之后,   通信双方都可以进行数据的传输,其次,它是全双工的,在保证可靠性的前提下,采用超时重传和捎带确认机制。

    在流量控制上,采用滑动窗口协议,协议规定,对于窗口内未经确认的分组需要重传。

    在拥塞控制上,采用慢启动算法。

1、2  TCP功能

    提供计算机程序连接,检测和丢弃重复的分组,完成数据包的确认,流量控制和网络拥塞。

1、3  TCP提供服务的特点》

(1)面向连接的传输;

(2)端到端的通信;

(3)高可靠性;

(4)全双工方式传输;

(5)采用字节流方式,即以字节为单位传输字节序列。

(6)紧急数据传送功能;

1、4 TCP支持的服务器类型:

    不管怎样,TCP/ip时一个协议族。为应用提供一些“低级功能”,这些功能包括,TCP,IP,UDP。其他是执行特定任务的应用协议,如计算机间传送文件,发送电子邮件,或找出水注册到另外一台计算机。因此,最重要的商业:TCP,IP服务有:

文件传送:file transfer

远程登录:remote login

计算机邮件:mail

网络文件系统NFS

远程打印:热模特,printing

远程执行 remote execution

名字服务器:name servers

1、5 TCP的端口号:

    TCP段结构中端口地址都是16比特,可以有在0~65535 范围内的端口号。对于这65535个端口号有以下的使用规定:

(1)端口号小于256的定义为常用端口

(2)客户端只需保证该端口号在本机上是唯一的就行了,客户端口号因存在时间很短暂又称为零时端口号。

(3)大多数TCP/IP实现给临时端口号分配1024~5000之间的端口号。

二、winsocket通信原理:

原文地址:https://www.cnblogs.com/yjds/p/8597440.html