tcp还是udp?
tcp 可以用一个线程在监听,当有连接的时候,等待请求accept 返回新的socket连接,你再开启一个线程去和这个连接通讯就行了,原来的那个监听线程继续他的监听工作。
下面是伪代码来的
大概的逻辑是:
ThreadFunc(param)
{
int accept_socket = param;
收发数据
}
main
{
int server_socket = socket(AF_INET, SOCK_STREAM, 0);
bind(server_socket,……) // 绑定端口
listen(server_socket, SOMAXCONN) // 监听
while (run)
{
int accept_socket = accept(server_socket,……);
CreateThread(……ThreadFunc, accept_socket ……);
}
}