用socket,出现亮个提示是什么问题?(file:sockcor.cpp,line:850),具体语句: 具体如下: sockcore.app BOOL CSocket::PumpMessages(UINT uStopFlag) { // The same socket better not be blocking in more than one place. ASSERT(m_pbBlocking == NULL);_AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;ASSERT(pState->m_hSocketWindow != NULL); (這一句) 提示这里出错是什么意思?
具体如下:
sockcore.app
BOOL CSocket::PumpMessages(UINT uStopFlag)
{
// The same socket better not be blocking in more than one place.
ASSERT(m_pbBlocking == NULL);_AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;ASSERT(pState->m_hSocketWindow != NULL); (這一句)
提示这里出错是什么意思?
我也遇到这个问题,CSocket不是线程安全的,它需要一个隐含的Window去处理消息,直接改用API就不会有问题了。
就那么几个函数: select FD_ISSET recv send
然后加上异常捕获就行了
系统资源会耗尽,
你的好友都上线的话,你的机器就要变老牛了
:)
想client-client,必须通过server转发。所以server负担会很重。
如果你一定要这么搞,就定义几个协议用来转发吧。想做QQ,得用UDP。
关于UDP,我不能告诉你。
因为我也没搞明白。
哈哈。
1、必须是客户/服务器程序,重点在服务器中进行消息的交换。如果使用客户端到客户端直通,不通过服务器,方法倒是不成问题,首先需要解决的问题是网关的穿透问题。
2、用UDP协议。在报文中定义目的和源(类似于QQ号)