0.套接字是什么?
1.为什么我们在服务器建立一个套接字,不同的客户端发送消息接受消息,仍旧是从这个套接字上面接受呢?
2.这个套接字可以接受多少的连接呢?比如同时满足100个客户端同时发送消息
3.listen()函数的第二个参数到底是什么作用?如果我们同时有1000个连接,而listen的设定为5个监听连接,会怎么样呢?
<小弟初学者,希望大家不要喷,恳切回答,多谢>
0.套接字是什么?
1.为什么我们在服务器建立一个套接字,不同的客户端发送消息接受消息,仍旧是从这个套接字上面接受呢?
2.这个套接字可以接受多少的连接呢?比如同时满足100个客户端同时发送消息
3.listen()函数的第二个参数到底是什么作用?如果我们同时有1000个连接,而listen的设定为5个监听连接,会怎么样呢?
<小弟初学者,希望大家不要喷,恳切回答,多谢>
0.套接字是网络编程的一个术语,是两端之间交互数据的接口。
1.服务器先建立一个套接字用于监听客户端的连接,但是服务器在accept之后会为没一个客户端都建立一个套接字,
用于客户端和服务器之间收发数据,而不是从监听的套接字收数据。
2.监听套接字接受的数量不受限制,但是linux系统会限制同时存在的套接字数量,默认是1024,但是可以通过修改配置设置这个值,
100个那是小case了
3.listen的第二个参数是连接请求队列的最大长度,超过这个数值,服务器就会拒绝客户端连接。
为5表示同时最多只能接受5 个连接,但是系统是一边等待连接,一边在处理已经连接上的socket,处理完的会从队列清除,
所以1000个只要不是同时来连接就不会有问题。
望采纳,希望能帮到你。