【发布时间】:2019-09-08 10:29:46
【问题描述】:
在这个问题中C# Receiving Packet in System.Sockets 一个人问: “在我的客户端服务器应用程序中,我想知道如何制作一个数据包并通过客户端将其发送到服务器 然后在服务器上我识别出这是哪个数据包并发送正确的重播”
并展示了他实现“数据包识别器”的方式的示例。他得到了一个答案,他的“构造消息”的方式很糟糕,但答案后面没有解释和代码示例。
所以请,任何人都可以展示一个好的代码的例子,它应该做这样的事情,但正确的方式:
[客户]
Send(Encoding.ASCII.GetBytes("1001:UN=user123&PW=123456")) //1001 is the ID
[服务器]
private void OnReceivePacket(byte[] arg1, Wrapper Client)
{
try
{
int ID;
string V = Encoding.ASCII.GetString(arg1).Split(':')[0];
int.TryParse(V, out ID);
switch (ID)
{
case 1001://Login Packet
AppendToRichEditControl("LOGIN PACKET RECEIVED");
break;
case 1002:
//OTHER IDs
break;
default:
break;
}
}
catch { }
}
【问题讨论】:
标签: c# sockets tcp client-server packet