紧急救助~

tywhere 2001-04-02 10:25:00
我用了2个月的时间,自己做了一个OICQ服务器,只是完成最简单的实时消息功能,准备用于单位的内部网络上,用户大约100左右。做好后,结果放到服务器上后,运行后,总是报错,“意外错误:地址冲突,0xc0000005 地址 xxxxxxxxx”
我的服务器环境是 nt4+sql7+OICQ服务器软件
OICQ服务器软件是仿照 chatserver 设计的,全部使用CSocket类:一个监听SOCKET,有连接时,建立一个CPicqSocket与之通讯。
CPsData 放有关连接数据和在线信息, 没有使用任何防止数据访问冲突的代码。
有2个问题老是困饶我:第一: 一个CSocket 是否是一个线程呢。
第二, 如果一个客户端CSocket突然意外中断(如因网络原因)服务器端如何知道这个信息并关闭自己与之对应的CSocket呢。
迫切希望得到你的帮助。再次对你表示感谢。
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyzboat 2001-04-02
  • 打赏
  • 举报
回复
1.建议用CAsyncSocket----就你的程序而言,改起来可能最快.别用CSocket了.
2.本论坛多次出现相同的问题,搜搜看看.
Kevin_qing 2001-04-02
  • 打赏
  • 举报
回复
1,不是
2,服务器send/recv时会收到错误信息

非法的原因可能是你的buffer溢出了
sxbyl 2001-04-02
  • 打赏
  • 举报
回复
CSocket是阻塞方式的,建议不要用,可以使用CAsyncSocket
更好的方法:使用Socket API2.0,资料我的主页上有,虽然用起来麻烦些,但自由度很大。
我的主页:sxbyl.home.chinaren.com

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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