大家好,欢迎来到IT知识分享网。
套接字为我们客户和服务器通信提供了这样一种机制,就像插头一样,把两个套接字连载一起,套接字意思是插座,通信就是一个线把两头连载一起,服务器一定是要运行起来的,通常来说在一个主机上有多个进程,而每一个服务器应用程序,为了支持客户端进程能够与他进行通信,按照套接字的机制必须创建套接字,一个进程可能创建多个套接字,不同进程创建自己的套接字,当某一个客户端套接字想要与某一个服务进行通信的时候,那么问题就来了,我们怎么样明确,我们与哪个进程通信,事实转变为 我要插到哪个套接字,一个IP地址可以唯一的标识一个主机,一个主机上由于有多个应用进程在运行,每个应用进程可能使用多个套接字,靠ip没法标识与哪个套接字进行通信。
标识通信端点(对外)
IP地址+端口号
操作系统/进程如何管理套接字(对内):
套接字描述符 socket descriptor
套接字结构
重点,accept
解释为什么要用新创建的套接字与客户端通信
tcp是一个可靠的面向字节流的传输协议并且还有一个特点,是点对点的,点对点的意味着一个tcp连接只能连接客户端和服务端这俩套接字,假如我们的tcp服务器不这样做,当一个客户链接请求来了以后,就用主套接字与客户端进行tcp连接通信,tcp服务器在某一时刻只能与一个客户端进行通信,就不可能实现并发的tcp服务器。为了实现并发tcp服务器,accept取到一个连接请求,不用主套接字为你提供服务,创建一个新的套接字与客户端通信,如果我们的服务器通过多线程多进程实现并发服务器,主线程可以继续接受新的客户连接请求,创建一个新的socket提供服务。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/46951.html