private GetConnectionInfo ( int hostId, int connectionId, int &port, ulong &network, ushort &dstNode, byte &error ) : string | ||
hostId | int | |
connectionId | int | |
port | int | |
network | ulong | |
dstNode | ushort | |
error | byte | |
return | string |
private void HandleConnect(int connectionId, byte error) { if (LogFilter.logDebug) { Debug.Log("NetworkServerSimple accepted client:" + connectionId); } if (error != 0) { this.OnConnectError(connectionId, error); } else { string networkAddress; int num; NetworkID networkID; NodeID nodeID; byte lastError; NetworkTransport.GetConnectionInfo(this.m_ServerHostId, connectionId, out networkAddress, out num, out networkID, out nodeID, out lastError); NetworkConnection networkConnection = (NetworkConnection)Activator.CreateInstance(this.m_NetworkConnectionClass); networkConnection.SetHandlers(this.m_MessageHandlers); networkConnection.Initialize(networkAddress, this.m_ServerHostId, connectionId, this.m_HostTopology); networkConnection.lastError = (NetworkError)lastError; while (this.m_Connections.Count <= connectionId) { this.m_Connections.Add(null); } this.m_Connections[connectionId] = networkConnection; this.OnConnected(networkConnection); } }
void HandleConnect(int connectionId, byte error) { if (LogFilter.logDebug) { Debug.Log("NetworkServerSimple accepted client:" + connectionId); } if (error != 0) { OnConnectError(connectionId, error); return; } string address; int port; NetworkID networkId; NodeID node; byte error2; NetworkTransport.GetConnectionInfo(m_ServerHostId, connectionId, out address, out port, out networkId, out node, out error2); NetworkConnection conn = (NetworkConnection)Activator.CreateInstance(m_NetworkConnectionClass); conn.SetHandlers(m_MessageHandlers); conn.Initialize(address, m_ServerHostId, connectionId, m_HostTopology); // add connection at correct index while (m_Connections.Count <= connectionId) { m_Connections.Add(null); } m_Connections[connectionId] = conn; OnConnected(conn); }
private void HandleConnect(int connectionId, byte error) { if (LogFilter.logDebug) { Debug.Log((object)("NetworkServerSimple accepted client:" + (object)connectionId)); } if ((int)error != 0) { this.OnConnectError(connectionId, error); } else { string address; int port; NetworkID network; NodeID dstNode; byte error1; NetworkTransport.GetConnectionInfo(this.m_ServerHostId, connectionId, out address, out port, out network, out dstNode, out error1); NetworkConnection instance = (NetworkConnection)Activator.CreateInstance(this.m_NetworkConnectionClass); instance.SetHandlers(this.m_MessageHandlers); instance.Initialize(address, this.m_ServerHostId, connectionId, this.m_HostTopology); while (this.m_Connections.Count <= connectionId) { this.m_Connections.Add((NetworkConnection)null); } this.m_Connections[connectionId] = instance; this.OnConnected(instance); } }
private void HandleConnect(int connectionId, byte error) { if (LogFilter.logDebug) { Debug.Log("NetworkServerSimple accepted client:" + connectionId); } if (error != 0) { this.OnConnectError(connectionId, error); } else { string str; int num; NetworkID kid; NodeID eid; byte num2; NetworkTransport.GetConnectionInfo(this.m_ServerHostId, connectionId, out str, out num, out kid, out eid, out num2); NetworkConnection conn = (NetworkConnection)Activator.CreateInstance(this.m_NetworkConnectionClass); conn.SetHandlers(this.m_MessageHandlers); conn.Initialize(str, this.m_ServerHostId, connectionId, this.m_HostTopology); conn.lastError = (NetworkError)num2; while (this.m_Connections.Count <= connectionId) { this.m_Connections.Add(null); } this.m_Connections[connectionId] = conn; this.OnConnected(conn); } }
public static void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error) { ulong network1; ushort dstNode1; address = NetworkTransport.GetConnectionInfo(hostId, connectionId, out port, out network1, out dstNode1, out error); network = (NetworkID)network1; dstNode = (NodeID)dstNode1; }
private void HandleConnect(int connectionId, byte error) { if (LogFilter.logDebug) { Debug.Log("NetworkServerSimple accepted client:" + connectionId); } if (error != 0) { OnConnectError(connectionId, error); return; } NetworkTransport.GetConnectionInfo(m_ServerHostId, connectionId, out string address, out int _, out NetworkID _, out NodeID _, out byte error2); NetworkConnection networkConnection = (NetworkConnection)Activator.CreateInstance(m_NetworkConnectionClass); networkConnection.SetHandlers(m_MessageHandlers); networkConnection.Initialize(address, m_ServerHostId, connectionId, m_HostTopology); networkConnection.lastError = (NetworkError)error2; while (m_Connections.Count <= connectionId) { m_Connections.Add(null); } m_Connections[connectionId] = networkConnection; OnConnected(networkConnection); }
public void SendPeerInfo() { if (!m_HostMigration) { return; } PeerListMessage peerListMessage = new PeerListMessage(); List <PeerInfoMessage> list = new List <PeerInfoMessage>(); PeerInfoPlayer item = default(PeerInfoPlayer); PeerInfoPlayer item2 = default(PeerInfoPlayer); for (int i = 0; i < NetworkServer.connections.Count; i++) { NetworkConnection networkConnection = NetworkServer.connections[i]; if (networkConnection == null) { continue; } PeerInfoMessage peerInfoMessage = new PeerInfoMessage(); NetworkTransport.GetConnectionInfo(NetworkServer.serverHostId, networkConnection.connectionId, out string address, out int port, out NetworkID _, out NodeID _, out byte _); peerInfoMessage.connectionId = networkConnection.connectionId; peerInfoMessage.port = port; if (i == 0) { peerInfoMessage.port = NetworkServer.listenPort; peerInfoMessage.isHost = true; peerInfoMessage.address = "<host>"; } else { peerInfoMessage.address = address; peerInfoMessage.isHost = false; } List <PeerInfoPlayer> list2 = new List <PeerInfoPlayer>(); for (int j = 0; j < networkConnection.playerControllers.Count; j++) { PlayerController playerController = networkConnection.playerControllers[j]; if (playerController != null && playerController.unetView != null) { item.netId = playerController.unetView.netId; item.playerControllerId = playerController.unetView.playerControllerId; list2.Add(item); } } if (networkConnection.clientOwnedObjects != null) { foreach (NetworkInstanceId clientOwnedObject in networkConnection.clientOwnedObjects) { GameObject gameObject = NetworkServer.FindLocalObject(clientOwnedObject); if (!(gameObject == null)) { NetworkIdentity component = gameObject.GetComponent <NetworkIdentity>(); if (component.playerControllerId == -1) { item2.netId = clientOwnedObject; item2.playerControllerId = -1; list2.Add(item2); } } } } if (list2.Count > 0) { peerInfoMessage.playerIds = list2.ToArray(); } list.Add(peerInfoMessage); } peerListMessage.peers = list.ToArray(); for (int k = 0; k < NetworkServer.connections.Count; k++) { NetworkConnection networkConnection2 = NetworkServer.connections[k]; if (networkConnection2 != null) { peerListMessage.oldServerConnectionId = networkConnection2.connectionId; networkConnection2.Send(11, peerListMessage); } } }
public void SendPeerInfo() { if (!m_HostMigration) { return; } var listMsg = new PeerListMessage(); var addresses = new List <PeerInfoMessage>(); for (int i = 0; i < NetworkServer.connections.Count; i++) { var conn = NetworkServer.connections[i]; if (conn != null) { var peerInfo = new PeerInfoMessage(); string address; int port; NetworkID networkId; NodeID node; byte error2; NetworkTransport.GetConnectionInfo(NetworkServer.serverHostId, conn.connectionId, out address, out port, out networkId, out node, out error2); peerInfo.connectionId = conn.connectionId; peerInfo.port = port; if (i == 0) { peerInfo.port = NetworkServer.listenPort; peerInfo.isHost = true; peerInfo.address = "<host>"; } else { peerInfo.address = address; peerInfo.isHost = false; } var playerIds = new List <PeerInfoPlayer>(); foreach (var player in conn.playerControllers) { if (player != null && player.unetView != null) { PeerInfoPlayer info; info.netId = player.unetView.netId; info.playerControllerId = player.unetView.playerControllerId; playerIds.Add(info); } } if (conn.clientOwnedObjects != null) { foreach (var netId in conn.clientOwnedObjects) { var obj = NetworkServer.FindLocalObject(netId); if (obj == null) { continue; } var objUV = obj.GetComponent <NetworkIdentity>(); if (objUV.playerControllerId != -1) { // already added players continue; } PeerInfoPlayer info; info.netId = netId; info.playerControllerId = -1; playerIds.Add(info); } } if (playerIds.Count > 0) { peerInfo.playerIds = playerIds.ToArray(); } addresses.Add(peerInfo); } } listMsg.peers = addresses.ToArray(); // (re)send all peers to all peers (including the new one) for (int i = 0; i < NetworkServer.connections.Count; i++) { var conn = NetworkServer.connections[i]; if (conn != null) { listMsg.oldServerConnectionId = conn.connectionId; conn.Send(MsgType.NetworkInfo, listMsg); } } }
/// <summary> /// <para>This sends the set of peers in the game to all the peers in the game.</para> /// </summary> public void SendPeerInfo() { if (!this.m_HostMigration) { return; } PeerListMessage peerListMessage = new PeerListMessage(); List <PeerInfoMessage> peerInfoMessageList = new List <PeerInfoMessage>(); for (int index = 0; index < NetworkServer.connections.Count; ++index) { NetworkConnection connection = NetworkServer.connections[index]; if (connection != null) { PeerInfoMessage peerInfoMessage = new PeerInfoMessage(); string address; int port; NetworkID network; NodeID dstNode; byte error; NetworkTransport.GetConnectionInfo(NetworkServer.serverHostId, connection.connectionId, out address, out port, out network, out dstNode, out error); peerInfoMessage.connectionId = connection.connectionId; peerInfoMessage.port = port; if (index == 0) { peerInfoMessage.port = NetworkServer.listenPort; peerInfoMessage.isHost = true; peerInfoMessage.address = "<host>"; } else { peerInfoMessage.address = address; peerInfoMessage.isHost = false; } List <PeerInfoPlayer> peerInfoPlayerList = new List <PeerInfoPlayer>(); using (List <PlayerController> .Enumerator enumerator = connection.playerControllers.GetEnumerator()) { while (enumerator.MoveNext()) { PlayerController current = enumerator.Current; if (current != null && (Object)current.unetView != (Object)null) { PeerInfoPlayer peerInfoPlayer; peerInfoPlayer.netId = current.unetView.netId; peerInfoPlayer.playerControllerId = current.unetView.playerControllerId; peerInfoPlayerList.Add(peerInfoPlayer); } } } if (connection.clientOwnedObjects != null) { using (HashSet <NetworkInstanceId> .Enumerator enumerator = connection.clientOwnedObjects.GetEnumerator()) { while (enumerator.MoveNext()) { NetworkInstanceId current = enumerator.Current; GameObject localObject = NetworkServer.FindLocalObject(current); if (!((Object)localObject == (Object)null) && (int)localObject.GetComponent <NetworkIdentity>().playerControllerId == -1) { PeerInfoPlayer peerInfoPlayer; peerInfoPlayer.netId = current; peerInfoPlayer.playerControllerId = (short)-1; peerInfoPlayerList.Add(peerInfoPlayer); } } } } if (peerInfoPlayerList.Count > 0) { peerInfoMessage.playerIds = peerInfoPlayerList.ToArray(); } peerInfoMessageList.Add(peerInfoMessage); } } peerListMessage.peers = peerInfoMessageList.ToArray(); for (int index = 0; index < NetworkServer.connections.Count; ++index) { NetworkConnection connection = NetworkServer.connections[index]; if (connection != null) { peerListMessage.oldServerConnectionId = connection.connectionId; connection.Send((short)11, (MessageBase)peerListMessage); } } }
public void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error) { NetworkTransport.GetConnectionInfo(hostId, connectionId, out address, out port, out network, out dstNode, out error); }
/// <summary> /// <para>This sends the set of peers in the game to all the peers in the game.</para> /// </summary> public void SendPeerInfo() { if (this.m_HostMigration) { PeerListMessage msg = new PeerListMessage(); List <PeerInfoMessage> list = new List <PeerInfoMessage>(); for (int i = 0; i < NetworkServer.connections.Count; i++) { NetworkConnection connection = NetworkServer.connections[i]; if (connection != null) { string str; int num2; NetworkID kid; NodeID eid; byte num3; PeerInfoMessage item = new PeerInfoMessage(); NetworkTransport.GetConnectionInfo(NetworkServer.serverHostId, connection.connectionId, out str, out num2, out kid, out eid, out num3); item.connectionId = connection.connectionId; item.port = num2; if (i == 0) { item.port = NetworkServer.listenPort; item.isHost = true; item.address = "<host>"; } else { item.address = str; item.isHost = false; } List <PeerInfoPlayer> list2 = new List <PeerInfoPlayer>(); for (int k = 0; k < connection.playerControllers.Count; k++) { PlayerController controller = connection.playerControllers[k]; if ((controller != null) && (controller.unetView != null)) { PeerInfoPlayer player; player.netId = controller.unetView.netId; player.playerControllerId = controller.unetView.playerControllerId; list2.Add(player); } } if (connection.clientOwnedObjects != null) { foreach (NetworkInstanceId id in connection.clientOwnedObjects) { GameObject obj2 = NetworkServer.FindLocalObject(id); if ((obj2 != null) && (obj2.GetComponent <NetworkIdentity>().playerControllerId == -1)) { PeerInfoPlayer player2; player2.netId = id; player2.playerControllerId = -1; list2.Add(player2); } } } if (list2.Count > 0) { item.playerIds = list2.ToArray(); } list.Add(item); } } msg.peers = list.ToArray(); for (int j = 0; j < NetworkServer.connections.Count; j++) { NetworkConnection connection2 = NetworkServer.connections[j]; if (connection2 != null) { msg.oldServerConnectionId = connection2.connectionId; connection2.Send(11, msg); } } } }