在线程中读取SOCKET数据时出错

wmc58 2008-10-05 03:50:40
UINT thread(LPVOID lpParam)
{
CServerSocket *m_pSocket=(CServerSocket *)lpParam;
do
{
CMessage message;
message.Serialize(*(m_pSocket->m_pArchiveIn));
.......
上面代码执行到message.Serialize(*(m_pSocket->m_pArchiveIn))时出错,为什么啊
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jorn 2008-10-10
  • 打赏
  • 举报
回复
把要传递的socket套接字放入一个结构体中,或者在创建线程时就要传递的socket套接字前面用(LPVOID)强制转换
liuka 2008-10-10
  • 打赏
  • 举报
回复
将数据放在结构体中试试
mrdone 2008-10-09
  • 打赏
  • 举报
回复
很有可能是时序的问题,
就是你使用的时候,那个对象或者内存被释放或者占用.
另外,
如楼上所说,
尽量不要使用指针,
很容易出事的.
blastzgd 2008-10-06
  • 打赏
  • 举报
回复
多线程的程序,不要传递MFC对象指针.MFC对象,是非线程安全的.

18,356

社区成员

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

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