Socket服务端如何关闭客户端的连接?

FVG55 2014-12-18 04:36:02
比如客户端向我发送了aaaaaaaa,那我就把这个客户端的连接给关闭,给如何写呢?求教
...全文
4756 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
CHDSZhiYuan 2016-07-27
  • 打赏
  • 举报
回复
这档案
於黾 2014-12-29
  • 打赏
  • 举报
回复
引用 12 楼 dongxinxi 的回复:
不过大多数游戏装备都会有一个唯一的ID,此时可能还要加入一些别的东西,比如抓包,然后修改数据包中的关键项,然后挂起原来的线程,用工具绑定游戏中使用的本地端口,发送模拟的数据包,等服务端响应后,再恢复,OK,又成功了,高兴吧
你说的这种,算不上网游吧,顶多算社区游戏,基本还是单机版,装备什么的信息居然是保存在本地的 如果装备保存在服务端,你这样改根本无意义
  • 打赏
  • 举报
回复
不过大多数游戏装备都会有一个唯一的ID,此时可能还要加入一些别的东西,比如抓包,然后修改数据包中的关键项,然后挂起原来的线程,用工具绑定游戏中使用的本地端口,发送模拟的数据包,等服务端响应后,再恢复,OK,又成功了,高兴吧
  • 打赏
  • 举报
回复
引用 10 楼 Z65443344 的回复:
[quote=引用 9 楼 evionmzs 的回复:] 服务器端关闭是有用的,客户端自己关闭有个bug,这个bug经常被用来在网游中复制装备
什么BUG,能说详细点吗? 而且既然是BUG,肯定是跟编译器有关的吧,难道是TCP协议本身的BUG吗[/quote] 大致的机理是:客户端模拟socket关闭(比如线程劫持或者被其他工具强行挂起),而没有按照应用层协议发送关闭指令正常结束会话。服务端发送的数据超时,可能会尝试重发,客户端那边此时恢复挂起的线程,一下子便收到了两条数据(装备)
马少华 2014-12-19
  • 打赏
  • 举报
回复
服务器端关闭是有用的,客户端自己关闭有个bug,这个bug经常被用来在网游中复制装备
  • 打赏
  • 举报
回复
try { socket.Shutdown(SocketShutdown.Both); } catch (Exception exp) { //处理异常 } socket.Close();
by_封爱 版主 2014-12-19
  • 打赏
  • 举报
回复
我告诉老板 我今天的工作完成了.. 那么 我随手就关闭了电脑... 但是你却不是这样... 老板,我今天的工作完成了.请帮我关机吧..... 正如红孩儿说的一样.你都知道你要XXOO,那么你发送信息完事就XXOO就好啦何必让别人帮你XXOO..
wangyue4 2014-12-19
  • 打赏
  • 举报
回复
客户端可以直接关闭socket连接啊,然后服务端的阻塞received方法会返回0,就代表客户端已断开。 我说的是tcp啊
於黾 2014-12-19
  • 打赏
  • 举报
回复
引用 9 楼 evionmzs 的回复:
服务器端关闭是有用的,客户端自己关闭有个bug,这个bug经常被用来在网游中复制装备
什么BUG,能说详细点吗? 而且既然是BUG,肯定是跟编译器有关的吧,难道是TCP协议本身的BUG吗
於黾 2014-12-18
  • 打赏
  • 举报
回复
引用 4 楼 bnb345 的回复:
[quote=引用 3 楼 Z65443344 的回复:] 服务端不能强行关闭客户端的程序,不过应该可以关闭socket连接 单独给某个客户端发消息当然是可以的, 不过我觉得你思路有问题 既然是客户端主动给服务端发送aaaaaaaa,客户端直接把连接关闭了不好吗,为什么要通知服务端去关闭连接呢?
其实就是验证客户端输入的编号是否有效,如果无效就关了他[/quote] 无效应该返回错误码,然后客户端接收到错误码之后给用户提示 否则用户也不知道到底是编号错误还是网络故障,这不是好的设计
FVG55 2014-12-18
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
服务端不能强行关闭客户端的程序,不过应该可以关闭socket连接 单独给某个客户端发消息当然是可以的, 不过我觉得你思路有问题 既然是客户端主动给服务端发送aaaaaaaa,客户端直接把连接关闭了不好吗,为什么要通知服务端去关闭连接呢?
其实就是验证客户端输入的编号是否有效,如果无效就关了他
於黾 2014-12-18
  • 打赏
  • 举报
回复
服务端不能强行关闭客户端的程序,不过应该可以关闭socket连接 单独给某个客户端发消息当然是可以的, 不过我觉得你思路有问题 既然是客户端主动给服务端发送aaaaaaaa,客户端直接把连接关闭了不好吗,为什么要通知服务端去关闭连接呢?
FVG55 2014-12-18
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
给他发一个关闭的消息,这个你们两方制定好,服务端不能强行关闭客户端
既然socket不能强行关闭客户端那请问可以单独给某个客户发消息吗?
bdmh 2014-12-18
  • 打赏
  • 举报
回复
给他发一个关闭的消息,这个你们两方制定好,服务端不能强行关闭客户端

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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