110,571
社区成员
发帖
与我相关
我的任务
分享
svr.Send("{序号: 1234, 命令类型:\"ABC.Comm1\", 命令体: { Name: \"asfa\", Quanlity: 50}}");
短链接中选择 http 还是 tcp,主要考虑性能问题(通常我们不考虑 WCF,而只考虑基本的 http post 方式)。而当双向通讯很重要时,就不仅仅是性能问题了,还有持续地连接、避免三次握手、服务器端主动 push 信息的需求,此时就要选择长连接方式。
不可选错。如果你曾经用过长连接方式,那么基本上你会一直选择长连接方式。这就好像初学者总是选择短连接一样,因为课堂上老师只会用短链接写个例子,于是学生就按照笔记来认识是非问题(实际上并没有绝对不变的是非问题)。svr.Send("{序号: 1234, 命令类型:\"ABC.Comm1", 命令体: { Name: \"asfa\", Quanlity: 50}}");
这就把地1234号命令发给了对方,此命令的类型是 ABC.Comm1,要求对方用这个类型名称将命令体中的 json 对象反序列化为 Comm1 对象实例,然后执行其命令操作。
收到的信息时也是一样,可以从命令序号中知道是多少号命令的返回结果,可以知道返回来的对象的 json 序列化结果,反序列化为实体对象就能作为过去发送的一个命令的返回值了。
所以你为“客户端如何与服务器断交换数据的?”,其实这里可以不用什么复杂的输入输出参数解析机制,不用 WCF 之类的,你自己收发字符串然后写上(通用的)4、5行 json 序列化、反序列化代码即可。