private void ReceiveIncomingPackets() { if (!Connected || !Initialized) { throw new Exception("[IDNS-Client] Error Running Server Tick."); } byte err; int connectionId; int channelId; byte[] recBuffer = new byte[MaxPacketSize]; int bufferSize = MaxPacketSize; int dataSize; byte error; int size = NetworkTransport.GetIncomingMessageQueueSize(_HostId, out err) + 1; for (int i = 0; i < size; i++) { NetworkEventType recData = NetworkTransport.ReceiveFromHost(_HostId, out connectionId, out channelId, recBuffer, bufferSize, out dataSize, out error); switch (recData) { case NetworkEventType.Nothing: //1 break; case NetworkEventType.ConnectEvent: //2 break; case NetworkEventType.DataEvent: //3 break; case NetworkEventType.DisconnectEvent: //4 break; } } }
public NetworkStats GetNetworkStats(int?connectionId) { byte errorAsByte; var networkStats = new NetworkStats { RecentOutgoingBandwidthInBytes = bandwidthAverager.OutgoingBandwidthInBytes, IncomingPacketCountForAllHosts = NetworkTransport.GetIncomingPacketCountForAllHosts(), IncomingPacketDropCountForAllHosts = NetworkTransport.GetIncomingPacketDropCountForAllHosts(), NetworkTimestamp = NetworkTransport.GetNetworkTimestamp(), OutgoingFullBytesCount = NetworkTransport.GetOutgoingFullBytesCount(), OutgoingMessageCount = NetworkTransport.GetOutgoingMessageCount(), OutgoingPacketCount = NetworkTransport.GetOutgoingPacketCount(), OutgoingSystemBytesCount = NetworkTransport.GetOutgoingSystemBytesCount(), OutgoingUserBytesCount = NetworkTransport.GetOutgoingUserBytesCount(), }; if (socketId.HasValue) { networkStats.IncomingMessageQueueSize = NetworkTransport.GetIncomingMessageQueueSize(socketId.Value, out errorAsByte); networkStats.OutgoingFullBytesCountForHost = NetworkTransport.GetOutgoingFullBytesCountForHost(socketId.Value, out errorAsByte); networkStats.OutgoingMessageCountForHost = NetworkTransport.GetOutgoingMessageCountForHost(socketId.Value, out errorAsByte); networkStats.OutgoingMessageQueueSize = NetworkTransport.GetOutgoingMessageQueueSize(socketId.Value, out errorAsByte); networkStats.OutgoingPacketCountForHost = NetworkTransport.GetOutgoingPacketCountForHost(socketId.Value, out errorAsByte); networkStats.OutgoingSystemBytesCountForHost = NetworkTransport.GetOutgoingSystemBytesCountForHost(socketId.Value, out errorAsByte); networkStats.OutgoingUserBytesCountForHost = NetworkTransport.GetOutgoingUserBytesCountForHost(socketId.Value, out errorAsByte); if (connectionId.HasValue) { networkStats.AckBufferCount = NetworkTransport.GetAckBufferCount(socketId.Value, connectionId.Value, out errorAsByte); networkStats.CurrentRTT = NetworkTransport.GetCurrentRTT(socketId.Value, connectionId.Value, out errorAsByte); networkStats.IncomingPacketCount = NetworkTransport.GetIncomingPacketCount(socketId.Value, connectionId.Value, out errorAsByte); networkStats.IncomingPacketLossCount = NetworkTransport.GetIncomingPacketLossCount(socketId.Value, connectionId.Value, out errorAsByte); networkStats.MaxAllowedBandwidth = NetworkTransport.GetMaxAllowedBandwidth(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingFullBytesCountForConnection = NetworkTransport.GetOutgoingFullBytesCountForConnection(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingMessageCountForConnection = NetworkTransport.GetOutgoingMessageCountForConnection(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingPacketCountForConnection = NetworkTransport.GetOutgoingPacketCountForConnection(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingPacketNetworkLossPercent = NetworkTransport.GetOutgoingPacketNetworkLossPercent(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingPacketOverflowLossPercent = NetworkTransport.GetOutgoingPacketOverflowLossPercent(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingSystemBytesCountForConnection = NetworkTransport.GetOutgoingSystemBytesCountForConnection(socketId.Value, connectionId.Value, out errorAsByte); networkStats.OutgoingUserBytesCountForConnection = NetworkTransport.GetOutgoingUserBytesCountForConnection(socketId.Value, connectionId.Value, out errorAsByte); } } return(networkStats); }
void fresh() { int outHostId; int outConnectionId; int outChannelId; string outConnIp; int outPort; NetworkID outID; NodeID outNode; int receivedSize; byte error; int quesize; NetworkEventType evt; int dog = 0; do { dog++; evt = NetworkTransport.Receive(out outHostId, out outConnectionId, out outChannelId, buffer, buffer.Length, out receivedSize, out error); quesize = NetworkTransport.GetIncomingMessageQueueSize(outHostId, out error); if (error != 0) { Debug.LogError("Receive error=" + error + "quesize=" + quesize); } switch (evt) { case NetworkEventType.ConnectEvent: { NetworkTransport.GetConnectionInfo(outHostId, outConnectionId, out outConnIp, out outPort, out outID, out outNode, out error); connectionClient.Add(outConnectionId, new StrTxt(Instantiate(text), outConnIp, true)); OnConnect(outHostId, outConnectionId, (NetworkError)error); break; } case NetworkEventType.DisconnectEvent: { OnDisconnect(outHostId, outConnectionId, (NetworkError)error); break; } case NetworkEventType.DataEvent: { OnData(outHostId, outConnectionId, outChannelId, ref buffer, receivedSize, (NetworkError)error); break; } case NetworkEventType.BroadcastEvent: { OnBroadcast(outHostId, buffer, receivedSize, (NetworkError)error); break; } case NetworkEventType.Nothing: break; default: Debug.LogError("Unknown network message type received: " + evt); break; } }while (dog < 30 && quesize != 0); }