发送端发送消息给接收端 ,接收端进行处理
举例:客户端把某用户信息(用户ID,用户密码)传输给服务器,服务器存储到数据库中。
发送方
1、契约类(用户信息类)
[ProtoContract] public class UserInfo { [ProtoMember(1)] public string UserID; [ProtoMember(2)] public string Password; public UserInfo() { } public UserInfo(string userID, string password) { this.UserID = userID; this.Password = password; } }
2、给契约类赋值
UserInfo info = new UserInfo(“我的用户ID”, "123456");
3、客户端发送
connection.SendObject("SendUserInfo", info);
至此,我们发送了一个实际类型为UserInfo的契约类,给服务器端,此次发送的消息类型是 SendUserInfo
接收端
1、注册消息类型
(当接收端收到消息类型为SendUserInfo的消息时,会调用HandleUserInfo方法进行处理
NetworkComms.AppendGlobalIncomingPacketHandler<UserInfo>("SendUserInfo", HandleUserInfo);
2、相关的处理方法,处理方法的参数格式是统一的,第三个参数类型设置为客户端发来的实际类型
至于接收端如何把收到的二进制数据解析为实际类型,这由networkcomms通信框架来完成。
private void HandleUserInfo(PacketHeader header, Connection connection, UserInfo userInfo) { //对收到的契约类 userInfo进行处理 string userID=userInfo.UserID; string passWord=userInfo.Password; //把获取到的数据存入到数据库中 }
流程结束