每个连接需要多少套接字

How many sockets are needed per connection?

本文关键字:多少 套接字 连接      更新时间:2023-10-16

假设我们有一个带有套接字sa和new_socket的服务器程序。我使用的教程采用套接字sa和new_socket,以及两个名为serverclientsockaddr_in结构;然后将套接字绑定到IP地址:端口,然后调用listen()函数。当listen返回时,程序调用

new_socket = accept(sa, (struct sockaddr*)&client, &length);

我的问题是,假设有3个人连接…我需要有3个不同的结构和3个不同的new_sockets为每个accept函数,说如果我想我的服务器服务3个不同的客户端连接到它?

还有,为什么我们需要一个new_socket为accept ?为什么有两个不同的插座1为bind和1为accept ?套接字操作不应该在bind ed上执行吗?

我正试图实现一个类套接字,使它更容易对我来说,作为一个很好的方式来实践我的面向对象的技能....

通常需要一个套接字用于服务器。此套接字用于设置服务器正在侦听的端口,并调用accept()来等待传入的连接。

此外,每个客户端连接都需要一个套接字。这是一个由accept()返回的新套接字。这是必要的,因为一个服务器可以处理多个客户机。如果您使用一个套接字来处理所有事情,那么就没有办法告诉哪个客户端正在向您发送消息,或者指示要向哪个客户端发送回复。