为了账号安全,请及时绑定邮箱和手机立即绑定

您好,麻烦帮忙解释一下关于C# socket 的SendTo()方法

您好,麻烦帮忙解释一下关于C# socket 的SendTo()方法

C# C
慕慕森 2021-11-10 11:07:01
在写QQ中,有这种情况:你上线之后,要做的一件事就是通知你的在线好友你上线的消息的消息。我在服务器端将每个用户的socket缓存起来了。有如下代码:// 通知我所有在线的好友我上线的消息foreach (Friend f in friends){if (f.Online){Socket friendSocket = (Socket)Program.SocketTable[f.Account];FriendOnline online = new FriendOnline(CommandType.FriendOnline, request.account, ip);sends = Serialize.serialize(online);socket.SendTo(sends, friendSocket.RemoteEndPoint); }}为什么我在客户端收不到好友上线的通知!!!难道是socket.SendTo(sends, friendSocket.RemoteEndPoint); 这句没有发送到friendSocket.RemoteEndPoint吗?或者是socket的内部机理到底是怎样的?谢谢。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

下面便是在C# socket 的SendTo()的使用方法
public int Send (
byte[] buffer
)
public bool SendToAsync(
SocketAsyncEventArgs e
)

查看完整回答
反对 回复 2021-11-14
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

我建议:
1.你不要缓存Socket客户机连接,客户少无问题.假设100w连接,把你服务器也搞死了.
2.你要用P2P结构,更先进
3.客户机与服务器在需要通信时才建连接,如QQ缓存Socket客户机连接,腾迅需要几百个服务器.

查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 522 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信