TCP Server有两个套接字

?
TCP服务器有一个特殊的套接字,欢迎运行在任意主机上的客户进程的某些初始接触。
三次握手期间,客户进程敲服务器的欢迎之门。该服务器“听到”敲门时,它将生成一个新的TCP套接字对象。它专门对客户进行连接的新生成的套接字,称为连接套接字 (connection socket)
初次遇到TCP套接字的学生有时会混淆欢迎套接字(所有要与服务器通信的客户的起始接触点)和每个新生成的服务器侧的连接套接字(随后为每个客户通信而生成的套接字)。

例子

connectionSocket, addr = serverSocket.accept()
sentence = connectionSocket.recv(1024)

serverSocket是欢迎套接字,connectionSocket是连接套接字。

时间: 2024-10-16 04:07:10

TCP Server有两个套接字的相关文章

MFC基于TCP协议的CSocket类套接字服务器端代码示范

MFC基于TCP协议的CSocket类套接字服务器端代码示范 https://blog.csdn.net/txwtech/article/details/93417667 原文地址:https://www.cnblogs.com/txwtech/p/11074805.html

TCP/IP网络编程之套接字类型与协议设置

套接字与协议 如果相隔很远的两人要进行通话,必须先决定对话方式.如果一方使用电话,另一方也必须使用电话,而不是书信.可以说,电话就是两人对话的协议.协议是对话中使用的通信规则,扩展到计算机领域可整理为"计算机间对话必备通信规则" 在TCP/IP网络编程之网络编程和套接字这一章中,我们已经介绍了如何创建套接字,但为了完全理解该函数,此处将继续展开讨论 #include <sys/socket.h> int socket(int domain, int type, int pr

套接字与套接字编程

一.套接字 端口:标记不同的网络进程:使用16位比特位表示. { IP : Port} ----- 来表示某一主机的具体进程是什么 ----  套接字(socket) 套接字:是抽象概念,表示TCP连接的一端:通过套接字可以进行数据的发送或接收 TCP连接由两个套接字组成: TCP = { Socket1  : Socket2 } = {{ IP:Port } { IP:Port }} 一个IP可以有多个套接字. 套接字编程: 二.套接字编程 服务端(被动连接的一方)             

原始套接字学习笔记(1)

一般来说,我们会用到如下三种套接字: TCP:SOCK_STREAM套接字 UDP:SOCK_DGRAM套接字 原始套接字:SOCK_RAW套接字 对于TCP和UDP两种套接字,相对来说只要配置好IP地址和端口号就可以了,比较简单,这里我们主要介绍原始套接字的使用. 1.原始套接字简介 原始套接字的强大之处在于,不同与UDP和TCP套接字只能访问传输层和传输层以上的数据包,原始套接字可以访问传输层以下的数据包,实现上至应用层下至链路层的数据操作,尤其适合用来进行抓包等工作. 2.原始套接字的建立

TCP套接字端口复用SO_REUSEADDR

下面建立的套接字都是tcp套接字 1.进程创建监听套接字socket1,邦定一个指定端口,并接受了若干连接.那么进程创建另外一个套接口socket2,并试图邦定同一个端口时候,bind错误返回“Address already in use”(即使使用了SO_REUSEADDR). 2.进程创建监听套接字,邦定一个指定端口,并接受了若干连接,为每个连接创建子进程为连接服务.杀死监听套接字所在进程,然后重新启动.重新启动的进程调用bind重新建立监听套接字.这次邦定只有在bind前指定了SO_REU

基本套接字TCP和UDP

TCP的Java支持 协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构.交换方式.包含的意义以及怎样对报文所包含的信息进行解析,TCP/IP协议族有IP协议.TCP协议和UDP协议.现在TCP/IP协议族中的主要socket类型为流套接字(使用TCP协议)和数据报套接字(使用UDP协议). TCP协议提供面向连接的服务,通过它建立的是可靠地连接.Java为TCP协议提供了两个类:Socket类和ServerSocket类.一个Socket实例代表了TCP连接的一个客户端,而一个S

Learning-Python【28】:基于TCP协议通信的套接字

什么是 Socket Socket 是应用层与 TCP/IP 协议通信的中间软件抽象层,它是一组接口.在设计模式中,Socket 其实就是一个门面模式,它把复杂的 TCP/IP 协议族隐藏在 Socket 接口后面,对用户来说,一组简单的接口就是全部,让 Socket 去组织数据,以符合指定的协议. 所以,我们无需深入理解 TCP/UDP 协议,socket 已经为我们封装好了,我们只需要遵循 socket 的规定去编程,写出的程序自然就是遵循 TCP/UDP 标准的. 套接字的分类: 基于文件

网络通信协议下的 TCP(三次握手,四次挥手) 和 UDP socket 套接字

osi七层模型 互联网的核心就是由一堆协议组成,协议就是标准,标准就是大家都认可的,所有人都按照这个来,这样大家都能够互相了解,互相深入了~~~比如全世界人通信的标准是英语 五层通信流程: tcp协议:(TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80.) 当应用程序希望通过 TCP 与另一个应用程序

Linux TCP套接字选项 之 SO_REUSEADDR &amp;&amp; SO_REUSEPORT

说明 前面从stackoverflow上找了一篇讲这两个选项的文章,文章内容很长,读到最后对Linux中的这两个选项还是有些迷茫,所以重新写一篇文章来做一个总结: 本文只总结TCP单播部分,并且只讨论该选项的bind()系统调用部分,UDP,组播,开启选项之后数据包的调度等不做讨论: man手册中对这两个套接字的描述 SO_REUSEADDR SO_REUSEADDR Indicates that the rules used in validating addresses supplied i