void Start() { byte[] recv = new byte[16 * 1024]; connector = new TcpConnector("192.168.31.236", 8888); connector.On(SocketEvents.Message, (d) => { byte[] reData = d as byte[]; Debug.LogError(reData.Length); unpacker.Input(reData); int length; ushort msgId; while (unpacker.MoveNext(recv, out length, out msgId)) { LoginS2C lmsg = ProtobufTool.BytesToProtoBuf <LoginS2C>(recv, 0, length); Debug.LogError("recv msgID: " + msgId + " data:" + lmsg.playerId); } }); var wait = connector.Connect(); if (!Util.Wait(wait, 1000)) { connector.Dispose(); } }
private bool TryConnect() { Socket socket = connector.Connect(); if (socket != null) { lastId++; Tcp tcp = new Tcp(socket); Player player = new Player(lastId, tcp, shipsInfo, projectilesController); player.CreateShip(); CreateShipActionData[] data = new CreateShipActionData[bots.Count + players.Count + 1]; data[0] = player.GetCreateShipActionData(); structConverter.ConvertStructToBytes(data[0], DataType.CreateShipAction, out byte[] bytes); foreach (Player pl in players) { pl.SendTcpData(bytes); } for (int i = 0; i < players.Count; i++) { data[i + 1] = players[i].GetCreateShipActionData(); } players.Add(player); for (int i = 0; i < bots.Count; i++) { data[i + players.Count] = bots[i].GetCreateShipActionData(); } structConverter.ConvertStructsToBytes(data, DataType.CreateShipAction, out bytes); player.SendTcpData(bytes); return(true); } return(false); }
internal void StartClient(string address, int port) { var connector = new TcpConnector(address, port); connector.OnConnected += Connector_OnConnected; connector.Connect(); StartCoroutine(connector.WaitFor()); }
public void TestDoubleConnect() { var connector = new TcpConnector("127.0.0.1", 7777); connector.Connect(); var isThrow = false; try { connector.Connect(); } catch (RuntimeException) { isThrow = true; } Assert.AreEqual(true, isThrow); }
public void SetServer(IList <NtIPAddress> servers) { List <Connector> connectors = new List <Connector>(); foreach (var server in servers) { connectors.Add(() => TcpConnector.Connect(server.IpAddress, server.Port, Logger.Instance, 1)); } SetConnector(connectors); }
public void StartClient(IList <NtIPAddress> servers) { List <Connector> connectors = new List <Connector>(); foreach (var server in servers) { connectors.Add(() => TcpConnector.Connect(server.IpAddress, server.Port, 1)); } StartClient(connectors); }
static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; int serverPort = 6891; Console.WriteLine("Hello Client!"); TcpConnector client = new TcpConnector(); client.Open(TcpConnector.GetAvailablePort(serverPort), 2); client.Connect("127.0.0.1", serverPort); _wrap = AutoWrapClient.GetProxy(client); // Выведем сообщение в консоли сервера string typeStr = typeof(Console).AssemblyQualifiedName; var console = _wrap.GetType(typeStr); console.WriteLine("Hello from Client"); var str = string.Empty; while (!str.ToLower().Equals("exit")) { Console.Write("Write text to server: "); str = Console.ReadLine(); console.WriteLine(str); } var testClass = (_wrap.GetType("ServerRun.TestClass, ServerRun, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"))._new(); var text = testClass.Name(); Console.WriteLine("Текст из клиента + " + text); console.WriteLine(text); GC.Collect(); GC.WaitForPendingFinalizers(); // Удаления из хранилища на стороне сервера происходит пачками по 50 элементов // Отрправим оставшиеся client.ClearDeletedObject(); // Отключимся от сервера, закроем все соединения, Tcp/Ip сервер на клиенте client.Close(); Console.Write("Close server? [y][n]: "); if (Console.ReadLine().ToLower().Equals("y")) { client.CloseServer(); } Console.WriteLine("Press any key..."); Console.ReadKey(); }
public void SimpleTcpTest() { var connector = new TcpConnector("127.0.0.1", 7777); var data = new byte[0]; var server = new TcpTestsServer(b => { data = b; }); var reData = new byte[0]; connector.On(SocketEvents.Message, (d) => { reData = d as byte[]; }); var wait = connector.Connect(); if (!Util.Wait(wait, 3000)) { server.Dispose(); connector.Dispose(); Assert.Fail("wait faild"); } wait = connector.Send(System.Text.Encoding.Default.GetBytes("hello world")); if (!Util.Wait(wait, 3000) || !Util.Wait(ref data, 3000) || !Util.Wait(ref reData, 3000)) { server.Dispose(); connector.Dispose(); Assert.Fail("wait faild"); } server.Dispose(); connector.Disconnect(); Assert.AreEqual("hello world", System.Text.Encoding.Default.GetString(data)); Assert.AreEqual("hello world", System.Text.Encoding.Default.GetString(reData)); }
public void TestDnsException() { var connector = new TcpConnector("http://123.0.0.1", 7777); Exception e = null; connector.On(SocketEvents.Error, (ex) => { e = ex as Exception; }); var wait = connector.Connect(); if (!Util.Wait(wait, 10000)) { connector.Dispose(); Assert.Fail("wait faild"); } Assert.AreEqual(typeof(SocketException), (wait.Result as Exception).GetType()); }
public void SetServerOverride(IPAddress address, int port) { SetConnectorOverride(() => TcpConnector.Connect(address.ToString(), port, Logger.Instance, 1)); }
public void SetServer(string serverName, int port) { SetConnector(() => TcpConnector.Connect(serverName, port, Logger.Instance, 1)); }
public void StartClient(string serverName, int port) { StartClient(() => TcpConnector.Connect(serverName, port, 1)); }