我是Sockets的新手,我对客户端<->服务器通信有一些理论上的问题。
问题是关于消息的类型和格式。
如果我将字符串作为带字节数的byte []用作消息,则对于所有客户端-服务器操作,对于高负载项目,这是一个好习惯吗?示例:“ CMSG_AUTH:Login:Password”
我听说有人使用操作码作为服务器返回命令。我应该串联使用字符串和操作码吗?如何?对于内部服务器体系结构,学习哪些设计模式会比较好?(我知道,这是一个愚蠢的问题,但是我对服务器开发真的很感兴趣,并且我的梦想是编写出色的,可扩展的服务器应用程序)。我不想使用WCF,我想从头开始制作它,只是为了了解它是如何工作的。
使用已建立的格式来序列化来自客户端和服务器的消息。对方可以使用相同的格式反序列化。
格式示例包括JSON,xml(使用字符串)或protobuf(二进制)。
定义要在客户端和服务器之间传输的信息的类:
class LoginDto
{
string UserName {get;set;}
string Secret{get;set;}
}
如果坚持使用既定格式,则很容易序列化此类实例以通过网络传输。
寻找DataContractSerializer
,JSON.Net
或Protobuf-net
为XML,JSON和protobuf的序列化的实现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句