
计算机网络
tama1204
抬头看路,低头拉车
展开
-
【计算机网络】Socket的插座理解法
我们可以将Socket(套接字)解释为插座,这样的话更便于我们理解,具体为:1 可以将每一个插头理解为一个SocketID,两孔插头为TCP,三孔为UDP,所有的插头都由管家(内核)保管,每次只能向他申请一个插头。一个主机或服务器只有一个插排(IP地址),上面有很多插孔(port)。serv_sock= socket(PF_INFT,SOCK_STREAM,0);这个函数可以理解为向管家申请一个插头,由于第二个参数为TCP,所以管家给了你一个两孔插头,这个两孔插头上有一个特定的标号,为se原创 2020-10-05 11:12:00 · 1566 阅读 · 1 评论 -
【计算机网络】孤儿进程和僵尸进程
关于孤儿进程和僵尸进程的定义与解释来自大佬:https://www.cnblogs.com/Anker/p/3271773.html1、什么是孤儿进程和僵尸进程 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。 孤儿进程:一个父进程退出,而它的.原创 2020-08-02 21:17:56 · 353 阅读 · 0 评论 -
【计算机网络】TCP粘包
转载自:https://blog.youkuaiyun.com/weixin_41047704/article/details/85340311在socket网络编程中,都是端到端通信,由客户端端口+服务端端口+客户端IP+服务端IP+传输协议组成的五元组可以明确的标识一条连接。在TCP的socket编程中,发送端和接收端都有成对的socket。发送端为了将多个发往接收端的包,更加高效的的发给接收端,于是采用了优化算法(Nagle算法),将多次间隔较小、数据量较小的数据,合并成一个数据量大的数据块,然后进行封包。那转载 2020-07-31 10:51:57 · 369 阅读 · 1 评论 -
【计算机网络】UDP注意事项
1,一般情况下,TCP比UDP慢,原因通常有以下两点: (1)收发数据前后进行的连接设置及清除过程; (2)收发过程中为保证可靠性而添加的流控制;2,UDP服务端与客户端均只需1个套接字。3,UDP套接字不会保持连接状态,每次收发数据都要提供对方的IP地址和端口号。4,UDP客户端程序(如PC与PLC通信时,PLC的IP和端口固定,所以一般PC为客户端)int sock;char message[BUFF_SIZE];int str_len;socklen_t a...原创 2020-07-30 16:37:51 · 695 阅读 · 0 评论 -
【计算机网络】TCP的连接释放
TCP的连接释放俗称TCP的四次挥手,即客户端与服务器端之间传输4次报文段。其具体的释放过程如图:在释放之前,双方都处于连接(ESTABLISHED)状态。若客户端A进程已经没有数据向服务器B进程发送了,并且乡释放连接,则便向B发送连接释放报文段,其中FIN=1,序号seq=u(之前发送数据的最后一个字节的序号为u-1),发送后便进入FIN-WAIT-1状态。 当B收到...原创 2020-02-21 15:23:40 · 1509 阅读 · 0 评论 -
【计算机网络】-TCP的连接建立
TCP的连接建立又称为三次握手,谢希仁版教材中成为三报文握手,即客户端进程与服务器端进程通过三次报文的传输建立了TCP连接。首先TCP首部为:连接流程:注意:序号:自己发送的报文段的数据的第一个位置序号。确认号:期望收到对方下一个报文段的第一个数据字节的序号。确认ACK:仅当ACK=1的时候确认号字段才有效,规定建立连接后所有的报文段的ACK=1。同步SYN:...原创 2020-02-18 17:29:23 · 1079 阅读 · 0 评论