此项目是和fastway
配套的C# API,实现了fastway
的通讯协议,可以供Unity3D项目使用(建议不要直接用在C#服务端)。
相关的调用API均设计成非阻塞调用,可以直接在Unity3D的Update循环里调用。
调用示例1 - 连接到网关:
var endPoint = new Fastway.EndPoint (
Stream, // 基础的网络流,可以是NetStream或者Snet.SnetStream
PingInterval, // Ping网关的时间间隔,必须小于网关的IdleTimeout设置
PingTimeout, // 网关回应Ping的超时时间,如果回应超时,将调用TimeoutCallback
TimeoutCallback, //
);
调用示例2 - 连接到服务端:
var conn = endPoint.Dial (ServerID);
调用示例3 - 发送一个无意义的随机消息包:
var n = random.Next (1000, 2000);
var msg1 = new byte[n];
random.NextBytes(msg1);
if (!conn.Send (msg1)) {
Console.WriteLine ("connection closed");
}
调用示例4 - 接收消息包:
var msg2 = conn.Receive ();
if (msg2 == null) {
Console.WriteLine ("connection closed");
}
if (msg2 == Conn.NoMsg) {
Console.WriteLine ("no message");
}
注意事项: