关于 vc 中socket 的使用 在accept的时候是有地址参数的啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SOCKADDR_IN addr ;addr.family = AF_INET ;int len = sizeof( addr ) ;accept( s , (SOCKADDR*) &addr , &len ); getsockname()inet_ntoa()看看这两个函数就行了。 s=accept(...)对此s进行inet_ntoa 套节字服务端,在响应FD_ACCEPT消息时用数据容器保存ACCEPT()函数返回的每一个套节字,以后消息的WPARAM 即是表示应相应当前消息的套节字,用一个循环比较,得到相应使用的套节字.同样,在ACCEPT()函数中的第二个参数可获得连接套节字端的sockaddr,使用inet_ntoa()可得IP。 你是不是只想区分来自不同client的信息accept时新建的socket是不同的,根据此既可区分。 to sunny7516huang(蜀山剑侠):WPARAM 从哪儿来? 当用一个socket server用来监听时,响应一个客户的请求需要另一个socket client,client = accept(server,...);这样对于每一个连接,都有唯一的一个client,包含客户信息。 同意楼上每一个连接,都有唯一的一个client,包含客户信息!你可以写两个类,一个侦听(CListenSocket),一个负责工作(CWorkSocket)!CListenSocket *pListenSocket;CWorkSocket *pWorkSocket;....if(pListenSocket->Accept(*pWorkSocket)){CString szAddress; UINT uPort; pSocket->GetPeerName(szAddress, uPort);} 同意楼上每一个连接,都有唯一的一个client,包含客户信息!你可以写两个类,一个侦听(CListenSocket),一个负责工作(CWorkSocket)!CListenSocket *pListenSocket;CWorkSocket *pWorkSocket;....if(pListenSocket->Accept(*pWorkSocket)){ CString szAddress; UINT uPort; pWorkSocket->GetPeerName(szAddress, uPort);}就可以得到IP地址和断口号!至于多个Client,你接受一个就把这个Client作个标记不就行了! 尼玛,我一直在大版的灌水区聊天,咋还有个vc的非技术区? 使鼠标由箭头变成小手的问题 *.inl是什么文件呢?可以象头文件一样的包含吗? 关于UDP编程的线程阻塞问题 今天做了一件我梦寐以求的事情 XP下,NOTEPAD不能用SetWindowsHookEx注入DLL么? 请问大家我如何在程序中获取当前运行程序的主线程的窗口谢谢大家 程序打包问题,急 急!急!急!用visual studio 2008打包成安装软件的问题 线程函数求解,怎么从线程函数中返回到ontimer函数中 怎么获得剪贴板中数据的格式呀? 各位大哥,小弟有一个关于控制应用程序启动和关闭的问题,请指教!
addr.family = AF_INET ;
int len = sizeof( addr ) ;
accept( s , (SOCKADDR*) &addr , &len );
inet_ntoa()
看看这两个函数就行了。
对此s进行inet_ntoa
同样,在ACCEPT()函数中的第二个参数可获得连接套节字端的sockaddr,使用inet_ntoa()可得IP。
accept时新建的socket是不同的,根据此既可区分。
client = accept(server,...);
这样对于每一个连接,都有唯一的一个client,包含客户信息。
每一个连接,都有唯一的一个client,包含客户信息!
你可以写两个类,一个侦听(CListenSocket),一个负责工作(CWorkSocket)!
CListenSocket *pListenSocket;
CWorkSocket *pWorkSocket;
....
if(pListenSocket->Accept(*pWorkSocket))
{
CString szAddress;
UINT uPort; pSocket->GetPeerName(szAddress, uPort);
}
每一个连接,都有唯一的一个client,包含客户信息!
你可以写两个类,一个侦听(CListenSocket),一个负责工作(CWorkSocket)!
CListenSocket *pListenSocket;
CWorkSocket *pWorkSocket;
....
if(pListenSocket->Accept(*pWorkSocket))
{
CString szAddress;
UINT uPort; pWorkSocket->GetPeerName(szAddress, uPort);
}
就可以得到IP地址和断口号!至于多个Client,你接受一个就把这个Client作个标记不就行了!