刚接触网络编程,简单的问题,希望各位帮忙!!

inlinefunction 2003-10-14 06:52:00
小弟我刚接触网络编程,N多地方不懂,见笑了!
下面的一小段代码
void ConnectServer()
{
m_Client.Close();
m_Client.Create();
m_Client.Connect("172.16.30.10",4001);
}
偶放在OnTimer函数中反复调用没什么问题
现在换成放在另一工作线程中调用时在第二次调用时在CLOSE()中就出现异常
为什么??
先谢谢各位了!!!
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
inlinefunction 2003-10-15
  • 打赏
  • 举报
回复
vagabondkq(birder):兄
现在我去掉了主线程中对这个函数的调用,只在线程中ConnectServer();
但好象无法激活Socket的OnConnect消息函数,怎么回事,主线程中调用没什么问题!!!

inlinefunction 2003-10-15
  • 打赏
  • 举报
回复
线程函数很简单啊
void ReconThread(PVOID pvoid)
{

while(1)
{
Sleep(8000);
if(!bConnect)
ConnectServer();
}
}

vagabondkq(birder):
能说明一下原因吗??

vagabondkq 2003-10-15
  • 打赏
  • 举报
回复
如果你主线程和线程里都有这段代码的话那就一定会出错了。
wwwabc0001 2003-10-14
  • 打赏
  • 举报
回复
当你的线程函数结束的时候,m_Client的生命也就结束了,
你的线程函数是什么样子的阿,贴出来看看
inlinefunction 2003-10-14
  • 打赏
  • 举报
回复
一样啊,在OnTimer函数中反复调用没什么问题
只要在线程中就出现上面的问题!!
我想可能是我对Socket的原理还是不明白吧!!!

Skt32 2003-10-14
  • 打赏
  • 举报
回复
SOCKET 的 HANDLE是不可以复用的。

改用指针试试, NEW 。。。 DELETE

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧