我用VC做一个服务器端的服务程序,运行在Dos环境下,当有客户端连接时,就启动一个单独的线程处理客户端的请求,如何实现,能给我一个大体的框架吗?===================================
附:
我原来的实现方式如下(用do...while 循环实现): //前面的创建本地套接字等略去 listen(sock, 5);//监听端口
do
{
msgsock = accept(sock, (struct sockaddr *)&tcpaddr, (int *)&len);
//接收连接
if (msgsock == -1)
printf("\nOne client connection has been refused");
else
{
//这里处理客户端的请求
...
}
closesocket(sock);
}
while(1);//无限循环,处理客户端请求
附:
我原来的实现方式如下(用do...while 循环实现): //前面的创建本地套接字等略去 listen(sock, 5);//监听端口
do
{
msgsock = accept(sock, (struct sockaddr *)&tcpaddr, (int *)&len);
//接收连接
if (msgsock == -1)
printf("\nOne client connection has been refused");
else
{
//这里处理客户端的请求
...
}
closesocket(sock);
}
while(1);//无限循环,处理客户端请求
====================
设我的处理函数为:
void process()
{
...
}那么用线程工作的流程或大致框架是怎么样的?
可以给我说一下吗?
在此线程内把.pParam 再还原成SOCKET 类型通过其,发送应答给CLIENTMSDN上有一个CHAT和CHATTER SERVER的程序,你可以看看.
按照你这么说,那用线程池怎么实现?可以给一个框架吗?