使用tcp/ip在c#中从客户端向服务器发送命令

本文关键字:客户端 服务器 命令 tcp ip 使用 | 更新日期: 2023-09-27 17:50:43

我发现的所有示例都仅通过网络发送文本/字符串数据。我弄清楚如何发送不同类型的对象(数组列表等)。我现在试图找出如何处理从服务器上的客户端发送的命令。对于客户,我必须:在数据库中添加ä"Student"删除数据库中的学生获取数据库中所有学生等

所以,如果我在客户端使用方法"processCommand"创建一个协议,有时我有不同数量的参数,这取决于客户端的请求(当添加学生时,我必须发送学生对象),(当从数据库获取数据时,我不必发送任何参数);我还需要返回不同类型的对象。我该怎么做呢?非常感谢。

使用tcp/ip在c#中从客户端向服务器发送命令

根据@marc_s的建议。没有理由重新发明轮子。使用WCF与tcpBinding。

如果你需要自己做,你需要使用某种序列化。你还需要附加一个报头,因为TCP是基于流的,不能保证所有的东西都到达同一个Receive

我将这样做:

    使用BinaryFormatter序列化你的对象到字节缓冲区。
  1. 发送包含版本(int)和字节缓冲区(int)字节数的报头
  2. 发送字节缓冲区。