当前位置: 技术问答>linux和unix
linux下的socket并发服务器的编写问题,请高手指教
来源: 互联网 发布时间:2015-02-25
本文导语: 我写了这样一个服务器程序. 信息发送与接收用的是send,recv. 我希望服务器能够处理多个客户的请求.在建好连接并实行一些初始化操作(与client交换通信密钥)之后能够创建一个子进程完成以后的通信工作. 现在此程序好...
我写了这样一个服务器程序.
信息发送与接收用的是send,recv.
我希望服务器能够处理多个客户的请求.在建好连接并实行一些初始化操作(与client交换通信密钥)之后能够创建一个子进程完成以后的通信工作.
现在此程序好像只能执行到accept(连接可以建立),但后面的通信不能进行.我不知道该怎么办,是select函数用错了吗?
还请高手指教!谢谢
int Init_Net_OP()
{
int sockfd,newsockfd,is_connected[MAXCONN],fd;
struct sockaddr_in addr;
int addr_len = sizeof(struct sockaddr_in);
fd_set readfds,writefds;
char buffer[256];
char msg[] = "Welcome to connect to server!";
if((sockfd = socket(AF_INET,SOCK_STREAM,0))
信息发送与接收用的是send,recv.
我希望服务器能够处理多个客户的请求.在建好连接并实行一些初始化操作(与client交换通信密钥)之后能够创建一个子进程完成以后的通信工作.
现在此程序好像只能执行到accept(连接可以建立),但后面的通信不能进行.我不知道该怎么办,是select函数用错了吗?
还请高手指教!谢谢
int Init_Net_OP()
{
int sockfd,newsockfd,is_connected[MAXCONN],fd;
struct sockaddr_in addr;
int addr_len = sizeof(struct sockaddr_in);
fd_set readfds,writefds;
char buffer[256];
char msg[] = "Welcome to connect to server!";
if((sockfd = socket(AF_INET,SOCK_STREAM,0))