TCP补充了Internet协议(IP协议),它定义了用于识别Internet上系统的IP地址,主要确保不同节点之间的端到端数据传输。Internet协议提供用于传输数据的指令,同时TCP创建连接并确保将数据传递到正确的目标。这两种协议通常是协同工作的,称为TCP / IP套件。【视频教程推荐:TCP/IP教程】
TCPTCP与Internet协议协同工作,Internet协议定义远程节点的逻辑位置,而TCP传输并确保将数据传递到正确的目标。
TCP的工作原理?
TCP的工作是将消息或文件分解成更小的片段(称为数据包),在通过Internet发送。然后,这些数据包由另一个TCP层接收,然后将该数据重组为完整的文件或消息。TCP还负责对数据流进行错误检查,以确保数据的传递如果发现错误,则TCP重新传输数据包。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
tcp .h头文件以前也没觉得如何的难用,总是在需要的时候就随手包含了进去,但现在看这些代码,总感觉心里不踏实,不知道在什么时候需要包含,什么时候没有必要包含,vc编译器在编译的时候是怎么处理.h和.cpp文件的,主要是对编译器原理太不熟悉,没办法,今天特意开辟了半天的时间好好的找了些资料,耐心地看看高人们的讲解,这里只是列出下自己现在对今天看到的知识做些总结。编译器的编译单位是.cpp文件,对每个cpp文件都生成一个.obj的目标文件,最后link连接成.exe可执行文件。合理地使用.h文件能够很好地理清项目工程的结构和提高编译的效率。头文件主要是对函数、全局变量的声明和一些宏的定义,.h文件是不参与编译的,#include宏的作用就是预处理的时候在使用这句话的地方用.h文件的内容替换掉这句话。声明的作用也只是告诉编译器,某个函数或者变量符合在调用之前在程序的某处已经定义过,编译的时候不报错,#if !defined和#endif两个指令主要哦是为了避免在同一个编译模块(一个.cpp文件)中避免重复包含同一个.h文件。
主要是你通过socket api封装要发送的数据,内部会自动封装成数据流进行传输。1,什么是Socket
网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。
但是,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程。
2,Socket通讯的过程
Server端Listen(监听)某个端口是否有连接请求,Client端向Server 端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。Server端和Client 端都可以通过Send,Write等方法与对方通信。
对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:
(1) 创建Socket;
(2) 打开连接到Socket的输入/出流;
(3) 按照一定的协议对Socket进行读/写 *** 作;
(4) 关闭Socket.(在实际应用中,并未使用到显示的close,虽然很多文章都推荐如此,不过在我的程序中,可能因为程序本身比较简单,要求不高,所以并未造成什么影响。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)