每个连接需要多少套接字
How many sockets are needed per connection?
假设我们有一个带有套接字sa和new_socket的服务器程序。我使用的教程采用套接字sa和new_socket,以及两个名为server
和client
的sockaddr_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()
返回的新套接字。这是必要的,因为一个服务器可以处理多个客户机。如果您使用一个套接字来处理所有事情,那么就没有办法告诉哪个客户端正在向您发送消息,或者指示要向哪个客户端发送回复。
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- 套接字读取后,我在缓冲区中看到意外输入
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- (Winsock) UDP 接收工作正常,但同一套接字的发送失败
- MSG_WAITALL的套接字发送得到了 22 EINVAL
- C++套接字客户端到 Python 服务器未创建连接
- 在不知道套接字的情况下关闭网络连接
- C++套接字对不读/写父/子
- 非更新套接字消息
- SIGSEGV on Boost UDP 套接字关闭 - tcache_get at malloc.c.
- 将现有套接字重新连接到新服务器所需的最少工作量是多少
- 我应该等多少,直到套接字的发送缓冲区为空
- C++: boost::asio : 我可以用于 TCP 套接字的最大缓冲区大小是多少?
- 每个连接需要多少套接字