网络编程:如何让服务器端支持多客户呀?谢谢! 你用的函数是阻塞函数,它要一直监听直到有连接请求,你的程序阻塞应该在Accpet()函数,它会在有请求时用它的一个参数(一个没有初始化的,才创建的CStocket对象)和客户进行连接通信。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、使用异步SOCKET,多次 ACCEPT2、使用多线程 CSocket本来就是异步的。最好不要直接使用CSocket,从CSocket派生一个新类,重载OnAccept, OnReceive方法 <windows 网络编程技术> 机械工业出版社,上面写得非常详细 class CListenSocket :public CSocket;class CClientSocket :public CSocket;CListenSocket m_ListenSocket;m_ListenSocket.Create(8000);m_ListenSocket.Listen();ON_MESSAGE(OnAccept,UM_ACCEPT);CListenSocket::OnAccpet(..){ SendMessage(g_hMainhWnd,UM_ACCPET,0,0);}CTestDialog::OnAccept(...){ CClientSocket *p; p = new CClientSocket; m_ListenSocket.Accept(*p); //将p储存到连接池中 }CClientSocket::OnReceive(...){ //接收 recv(....); //处理代码... //发送 send(...); //如果用线程..次处必须激活处理线程.}有时间跟你写一个吧.留个mial. to logincao:谢谢!我的E-mail:[email protected]to everyone:非常感谢大家的热情帮助 谢谢楼上孤独大侠!我也孤独二十有五年了,等你好消息![email protected] 偶也想知道的[email protected] 请教大家一个关于上位机界面中红绿灯警示器的问题 微软放弃mfc了么? 请教:文档/视图结构中,如何实现多层继承类(已串行化)对象的存储和读取? 文件对话框,如何让FileFilter当中的第二项成为默认的文件类型? Microsoft Visual Studio 6.0 开发环境有没有这样的功能 请问如何将DC保存到一个CBitmap对象中。 急问:用DCOM配置的工程,如何防止在局域网内被截获数据? 一个奇怪的问题。关于文件的打开 如何利用objectarx读取cad图形库中的信息(急) CEdit控件的问题 关于automation 200分求解:在使用一个OCX控件中时碰到的问题!
2、使用多线程
最好不要直接使用CSocket,从CSocket派生一个新类,重载OnAccept, OnReceive方法
class CClientSocket :public CSocket;CListenSocket m_ListenSocket;
m_ListenSocket.Create(8000);
m_ListenSocket.Listen();ON_MESSAGE(OnAccept,UM_ACCEPT);CListenSocket::OnAccpet(..)
{
SendMessage(g_hMainhWnd,UM_ACCPET,0,0);
}CTestDialog::OnAccept(...)
{
CClientSocket *p;
p = new CClientSocket;
m_ListenSocket.Accept(*p);
//将p储存到连接池中
}CClientSocket::OnReceive(...)
{
//接收
recv(....);
//处理代码...
//发送
send(...);
//如果用线程..次处必须激活处理线程.}
有时间跟你写一个吧.留个mial.
谢谢!我的E-mail:[email protected]
to everyone:
非常感谢大家的热情帮助
我也孤独二十有五年了,等你好消息![email protected]
[email protected]