在使用Supersocket Server的过程中,发现Server是不支持.net 3.5的.


1.Server端中的几个Command:

 1 namespace SuperSocketProtoServer.Protocol.Command
 2 {
 3     public class CallMessage : CommandBase<ProtobufAppSession, ProtobufRequestInfo>
 4     {
 5         public override void ExecuteCommand(ProtobufAppSession session, ProtobufRequestInfo requestInfo)
 6         {            
 7             Console.WriteLine("CallMessage:{0}", requestInfo.Body.CallMessage.Content);
 8             var backMessage = global::SuperSocketProtoServer.Pack.BackMessage.CreateBuilder().SetContent("Hello I am from C# server by SuperSocket")
 9                 .Build();
10 
11             var message = DefeatMessage.CreateBuilder().SetType(DefeatMessage.Types.Type.BackMessage)
12                 .SetBackMessage(backMessage).Build();
13             using (var stream = new MemoryStream())
14             {
15                 CodedOutputStream cos = CodedOutputStream.CreateInstance(stream);
16                 cos.WriteMessageNoTag(message);
17                 cos.Flush();
18                 byte[] data = stream.ToArray();
19                 session.Send(new ArraySegment<byte>(data));
20             }
21         }
22     }
23 }
24 
25 namespace SuperSocketProtoServer.Protocol.Command
26 {
27     public class BackMessage : CommandBase<ProtobufAppSession, ProtobufRequestInfo>
28     {
29         public override void ExecuteCommand(ProtobufAppSession session, ProtobufRequestInfo requestInfo)
30         {
31             Console.WriteLine("BackMessage:{0}", requestInfo.Body.BackMessage.Content);
32         }
33     }
34 }
35 
36 namespace SuperSocketProtoServer.Protocol.Command
37 {
38     public class PersonMessage:CommandBase<ProtobufAppSession, ProtobufRequestInfo>
39     {
40         public override void ExecuteCommand(ProtobufAppSession session, ProtobufRequestInfo requestInfo)
41         {
42             Console.WriteLine("Recv Person Message From Client.");
43             Console.WriteLine("person's id = {0}, person's name = {1}, person's sex = {2}, person's phone = {3}", 
44                 requestInfo.Body.PersonMessage.Id, 
45                 requestInfo.Body.PersonMessage.Name, 
46                 requestInfo.Body.PersonMessage.Sex, 
47                 requestInfo.Body.PersonMessage.Phone);
48 
49             var person = Pack.PersonMessage.CreateBuilder().SetAge(58).SetId(333)
50                 .SetName("native .net to unity3d message").SetSex(Pack.PersonMessage.Types.Sex.Male).SetPhone("+86 110")
51                 .Build();
52             var message = DefeatMessage.CreateBuilder().SetType(DefeatMessage.Types.Type.PersonMessage)
53                 .SetPersonMessage(person).Build();
54             using (var stream = new MemoryStream())
55             {
56                 CodedOutputStream cos = CodedOutputStream.CreateInstance(stream);
57                 cos.WriteMessageNoTag(message);
58                 cos.Flush();
59                 byte[] data = stream.ToArray();
60                 session.Send(new ArraySegment<byte>(data));
61             }
62         }
63     }
64 }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-04
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-04
  • 2021-05-23
  • 2021-05-18
  • 2021-11-18
  • 2021-07-17
  • 2022-02-19
相关资源
相似解决方案