public void SetUp() { // create new server & received list for each test serverReceived = new List<byte[]>(); server = new KcpServer( (connectionId) => {}, (connectionId, message) => { byte[] copy = new byte[message.Count]; Buffer.BlockCopy(message.Array, message.Offset, copy, 0, message.Count); serverReceived.Add(copy); }, (connectionId) => {}, NoDelay, Interval, 0, true, serverSendWindowSize, serverReceiveWindowSize ); server.NoDelay = NoDelay; server.Interval = Interval; // create new client & received list for each test clientReceived = new List<byte[]>(); client = new KcpClient( () => {}, (message) => { byte[] copy = new byte[message.Count]; Buffer.BlockCopy(message.Array, message.Offset, copy, 0, message.Count); clientReceived.Add(copy); }, () => {} ); }
public void SetUp() { // logging Log.Info = Debug.Log; Log.Warning = Debug.LogWarning; Log.Error = Debug.LogError; // create new server & received list for each test serverReceived = new List <byte[]>(); server = new KcpServer( (connectionId) => {}, ServerOnData, (connectionId) => {}, NoDelay, Interval, 0, true, serverSendWindowSize, serverReceiveWindowSize ); server.NoDelay = NoDelay; server.Interval = Interval; // create new client & received list for each test clientReceived = new List <byte[]>(); client = new KcpClient( () => {}, ClientOnData, () => {} ); }
public void Redirect(string ip, int port) { if (kcp == null) { kcp = new KcpServer <KcpSocket>(0); kcp.Run(1); } if (link == null) { var address = IPAddress.Parse(ip); link = kcp.FindOrCreateLink(new IPEndPoint(address, port)); link.Send(new byte[1], 0); } else { var add = IPAddress.Parse(ip); link.endpPoint.Address = add; link.endpPoint.Port = port; var b = add.GetAddressBytes(); unsafe { fixed(byte *bp = &b[0]) link.ip = *(Int32 *)bp; } link.port = port; link.envelope.Clear(); link.metaData.Clear(); } }
public void Connection(string ip, int port) { UniId = SystemInfo.deviceUniqueIdentifier; var address = IPAddress.Parse(ip); var kcp = new KcpServer <KcpSocket>(0, 1); kcp.Run(); link = kcp.FindOrCreateLink(new IPEndPoint(address, port)); link.Send(new byte[1], 0); }
public void Connection(string ip, int port) { if (kcp == null) { kcp = new KcpServer <KcpSocket>(0); kcp.Run(1); } var address = IPAddress.Parse(ip); link = kcp.FindOrCreateLink(new IPEndPoint(address, port)); link.Send(new byte[1], 0); }
public void Connection(string ip, int port) { var address = IPAddress.Parse(ip); server = new KcpServer <KcpSocket>(0); server.Run(1); server.OpenHeart(); var remote = new IPEndPoint(address, port); link = server.FindOrCreateLink(remote); server.soc.SendTo(KcpListener.Heart, remote); server.RejectAutoConnections = true; }
public static void Init(bool isServer = false, bool isClient = false, bool isSimulated = false) { IsServer = isServer ? true : IsServer; IsClient = isClient ? true : IsClient; IsSimulated = isSimulated ? true : IsSimulated; if (isSimulated) { if (NetLogFilter.logInfo) { Debug.Log("Transport Layer Initialized: Simulation"); } return; } if (IsServer && server == null) { // server server = new KcpServer( (connectionId) => OnServerConnected.Invoke(connectionId), (connectionId, message) => OnServerDataReceived.Invoke(connectionId, message, (int)UDPChannels.Reliable), (connectionId) => OnServerDisconnected.Invoke(connectionId), NoDelay, Interval, FastResend, CongestionWindow, SendWindowSize, ReceiveWindowSize ); if (NetLogFilter.logInfo) { Debug.Log("Transport Layer Initialized: Server"); } } if (IsClient && client == null) { // client client = new KcpClient( () => OnClientConnected.Invoke(), (message) => OnClientDataReceived.Invoke(message, (int)UDPChannels.Reliable), () => OnClientDisconnected.Invoke() ); if (NetLogFilter.logInfo) { Debug.Log("Transport Layer Initialized: Client"); } } }
public EchoServer(Configuration config, BenchmarkStatistics benchmarkStatistics) : base(config) { this.config = config; this.benchmarkStatistics = benchmarkStatistics; communicationChannel = Kcp2kBenchmark.GetChannel(config.Transmission); var interval = (uint)Utilities.CalculateTimeout(config.ServerTickRate); server = new KcpServer(OnConnected, OnReceiveMessage, OnDisconnected, DualMode, NoDelay, interval); serverThread = new Thread(TickLoop); serverThread.Name = "Kcp2k Server"; serverThread.Priority = ThreadPriority.AboveNormal; }
public void Connection(string ip, int port) { var address = IPAddress.Parse(ip); KcpServer.CreateLink = (o) => { return(new KcpSocket(o)); }; var kcp = new KcpServer(0, 0, 1); link = kcp.CreateNewLink(new IPEndPoint(address, port)) as KcpSocket; link.SendNull(ProCmd.ServerIp, MessageType.Pro); //LoginTable login = new LoginTable(); //login.user = "******"; //login.pass = "******"; //Instance.SendObject<LoginTable>(DefCmd.Login, MessageType.Def, login); }
static void Main(string[] args) { LocalFile.loadConfig(); SqlControll.Initial(); var kcp = new KcpServer <KcpUser>(8899); kcp.OpenHeart(); kcp.Run(); while (true) { var cmd = Console.ReadLine(); if (cmd == "Close" | cmd == "close") { break; } } }
// virtual so that we can overwrite for where-allocation nonalloc tests protected virtual void CreateServer() { server = new KcpServer( (connectionId) => {}, ServerOnData, (connectionId) => {}, DualMode, NoDelay, Interval, 0, true, SendWindowSize, ReceiveWindowSize, Timeout ); server.NoDelay = NoDelay; server.Interval = Interval; }
public static void start() { KcpRttExampleServer kcpRttExampleServer = new KcpRttExampleServer(); ChannelConfig channelConfig = new ChannelConfig(); channelConfig.initNodelay(true, 40, 2, true); channelConfig.Sndwnd = 512; channelConfig.Rcvwnd = 512; channelConfig.Mtu = 512; channelConfig.FecDataShardCount = 3; channelConfig.FecParityShardCount = 1; channelConfig.AckNoDelay = true; channelConfig.TimeoutMillis = 10000; channelConfig.UseConvChannel = true; KcpServer kcpServer = new KcpServer(); kcpServer.init(Environment.ProcessorCount, kcpRttExampleServer, channelConfig, 20003); }
void Awake() { // TODO simplify after converting Mirror Transport events to Action client = new KcpClient( () => OnClientConnected.Invoke(), (message) => OnClientDataReceived.Invoke(message), () => OnClientDisconnected.Invoke() ); // TODO simplify after converting Mirror Transport events to Action server = new KcpServer( (connectionId) => OnServerConnected.Invoke(connectionId), (connectionId, message) => OnServerDataReceived.Invoke(connectionId, message), (connectionId) => OnServerDisconnected.Invoke(connectionId), NoDelay, Interval, FastResend, CongestionWindow, SendWindowSize, ReceiveWindowSize ); Debug.Log("KcpTransport initialized!"); }
static void Main(string[] args) { KcpServer.CreateLink = (o) => { return(new KcpUser(o)); }; var kcp = new KcpServer(8888); kcp.OpenHeart(); RServer rs = new RServer(); rs.name = "斗地主"; rs.key = "ert125dsaqwqf43bvrwurx24354tq245sd32dfkh348shdjfhs234sf5345"; IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("193.112.70.170"), 6666); kcp.Send(KcpPack.PackObject <RServer>(ProCmd.Server, MessageType.Pro, rs), EnvelopeType.AesDataBuffer, endPoint); while (true) { var cmd = Console.ReadLine(); if (cmd == "close" | cmd == "Close") { break; } } }
public bool Init(ChannelConfig channelConfig, IPEndPoint ep) { server = new KcpServer(); server.init(Environment.ProcessorCount, this, channelConfig, ep.Port); return(true); }
public KcpSocket(KcpServer server) : base(server) { datas = new Queue <KcpData>(); Console.WriteLine("new link"); }
public KcpUser(KcpServer server) : base(server) { Console.WriteLine("new link"); }