-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCRemoteServerPeer.cs
54 lines (47 loc) · 1.27 KB
/
CRemoteServerPeer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSampleClient
{
using GameServer;
class CRemoteServerPeer : IPeer
{
public CUserToken token { get; private set; }
public CRemoteServerPeer(CUserToken token)
{
this.token = token;
this.token.set_peer(this);
}
void IPeer.on_message(Const<byte[]> buffer)
{
CPacket msg = new CPacket(buffer.Value, this);
PROTOCOL protocol_id = (PROTOCOL)msg.pop_protocol_id();
switch (protocol_id)
{
case PROTOCOL.CHAT_MSG_ACK:
{
string text = msg.pop_string();
Console.WriteLine(string.Format("text {0}", text));
}
break;
}
}
void IPeer.on_removed()
{
Console.WriteLine("Server removed.");
}
void IPeer.send(CPacket msg)
{
this.token.send(msg);
}
void IPeer.disconnect()
{
this.token.socket.Disconnect(false);
}
void IPeer.process_user_operation(CPacket msg)
{
}
}
}