public void SendOpenConnectionRequest1() { var packet = new OpenConnectionRequest1() { raknetProtocolVersion = 7, // Indicate to the server that this is a performance tests. Disables logging. mtuSize = _mtuSize }; byte[] data = packet.Encode(); TraceSend(packet); // 1087 1447 byte[] data2 = new byte[_mtuSize - data.Length]; Buffer.BlockCopy(data, 0, data2, 0, data.Length); SendData(data2); }
private void HandleRakNetMessage(IPEndPoint senderEndpoint, OpenConnectionRequest1 incoming) { lock (_playerSessions) { // Already connecting, then this is just a duplicate if (_connectionAttemps.ContainsKey(senderEndpoint)) { DateTime created; _connectionAttemps.TryGetValue(senderEndpoint, out created); if (DateTime.UtcNow < created + TimeSpan.FromSeconds(3)) { return; } _connectionAttemps.TryRemove(senderEndpoint, out created); } if (!_connectionAttemps.TryAdd(senderEndpoint, DateTime.UtcNow)) return; } if (Log.IsDebugEnabled) Log.WarnFormat("New connection from: {0} {1}, MTU: {2}", senderEndpoint.Address, senderEndpoint.Port, incoming.mtuSize); var packet = OpenConnectionReply1.CreateObject(); packet.serverGuid = 12345; packet.mtuSize = incoming.mtuSize; packet.serverHasSecurity = 0; var data = packet.Encode(); packet.PutPool(); TraceSend(packet); SendData(data, senderEndpoint); }
public void SendOpenConnectionRequest1() { var packet = new OpenConnectionRequest1() { raknetProtocolVersion = byte.MaxValue, // Indicate to the server that this is a performance tests. Disables logging. mtuSize = _mtuSize }; var data = packet.Encode(); SendData(data); }