用winsock控制,当客户瑞突然关机退出后,能返回一个字符串回服务器吗.?

jackyhyoung 2005-08-13 11:17:44
我用VB做了一个网络小游戏,当游戏中不正常退出,如突然关机这样的事发生的时候,能否让服务端知道这种情况的发生呢.?
我知道其中服务器瑞有个Winsock1_Close事件返回..但他只是返一个index这样的话..我不知道是哪个客户瑞发出来的,很难做出判断,所以我想返回一个字符串进行判断.
不知是否可以呢..各位帮帮忙.!!
...全文
210 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
李白丢了墨镜 2005-10-10
  • 打赏
  • 举报
回复
都是些垃圾,,,,,
yamsan 2005-10-10
  • 打赏
  • 举报
回复
没用,c突然关机,掉电,winsock.state状态一直是在线
monica888 2005-09-22
  • 打赏
  • 举报
回复
楼上正解,正是winsock.state
一大群人装模作样发表了半天,却没有一人真正了解和灵活运用到winsock
bao_xq 2005-09-19
  • 打赏
  • 举报
回复
winsock.state
zyg0 2005-09-19
  • 打赏
  • 举报
回复
都跑题了,可以告诉楼主的是 客户端不可能发送任何错误或者字符串给服务器的

楼上几位说到qq的机制,其实qq也不是完全解决了的 你可以测试下 2台机器上qq 1台拔网线,另一台还是显示他在线,而且会显示很久的.

这个不是程序的问题,而是tcp 协议的问题,tcp 是有自动找包的功能,但是不能做非法掉线的检测

解决办法 :
服务器定时发消息包给客户端 客户端接到消息回发给服务器,服务器接到回发消息说明在线,
这个方法是大家都在用的,要想检测快,就要发送间隔短,检测慢发送间隔就长
ok?
maplevsred 2005-09-19
  • 打赏
  • 举报
回复
常规且简单的方法是在局域网的服务器上安装代理程序或端口映射软件。
要不就用UDP打洞的方式,但这种是需要一个拥有公网IP的服务器参与的,画蛇添足了。

总而言之,两个局域网中的电脑想要通信,必须要有一台双方都可以连接上的电脑参与其中。
honghong2 2005-08-15
  • 打赏
  • 举报
回复
to: NOVAWU(NOVA WU)
你是说我这种情况么?能用WWW上面架设一个服务器来实现Winsock的B\S架构固然更好.

可我的问题是如果以广州X局域网中的小红做服务器呢,如何让Y局域网中的小燕突破X局域网来获得小红得IP.而小红又如何能突破小燕的Y局域网来取得小燕的IP呢?
NOVAWU 2005-08-15
  • 打赏
  • 举报
回复
像楼上仁兄那种情况,建议使用像QQ那种模式的。
就是在WWW上面架设一个服务器,
然后广州X局域网中的小红就可以连接服务器,
通过服务器中转来实现联系。
这种是通过C/S模式实现的,服务器是S。
其他的就是C了。
NOVAWU 2005-08-15
  • 打赏
  • 举报
回复
昏,B/S模式可以使用Winsock实现吗/?
honghong2 2005-08-15
  • 打赏
  • 举报
回复
你这个网络小游戏是基于C\S架构还是B\S架构呢?
我最近也在研究这个winsock,我想用它实现B\S架构,那如何在两个局域网中联系呢?比如说广州X局域网中的小红要与Y局域网中的小燕联系.用VB的winsock可以实现吗?如何实现呢?
Stone2005 2005-08-15
  • 打赏
  • 举报
回复
http://www.somade.com/是个很专业的技术社区,去那里找找吧,或许有你要的答案~
NOVAWU 2005-08-15
  • 打赏
  • 举报
回复
当游戏中不正常退出,如突然关机这样的事发生的时候,客户端没有时间给你发信息。
建议依靠服务端对每个客户端进行循环发送在线测试包。
然后客户端进行响应,否则就视为不在线,做相应处理。
maplevsred 2005-08-14
  • 打赏
  • 举报
回复
INDEX就够了,大不了弄个数组把INDEX与客户机的对应关系列出来,当连接断开时就知道是谁不在了。
fishmans 2005-08-13
  • 打赏
  • 举报
回复
客户端连接的时候就把IP什么的都发过来就可以了

否则系统异常退出,不可能有时间给你发什么信息的

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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