public IEnumerator TcpConnectTest() { try { _serverThread = new Thread(MyTcpListener.Start); _serverThread.Start(); _tcpLayer = new TcpLayer(); _tcpLayer.Connect("127.0.0.1", 13000, b => { _connectState = b; }); for (int i = 0; i < 20; i++) { _tcpLayer.Update(); yield return(null); } yield return(null); } finally { _tcpLayer.Dispose(); _serverThread.Interrupt(); _serverThread.Abort(); } Assert.AreEqual(true, _connectState); }
public IEnumerator TcpSendAndRecvTest() { try { _serverThread = new Thread(MyTcpListener.Start); _serverThread.Start(); _tcpLayer = new TcpLayer(); _tcpLayer.Connect("127.0.0.1", 13000, ok => { if (ok) { _tcpLayer.Send(DataPackPool.GetDataPack(0, Encoding.ASCII.GetBytes("abcdefg"))); } }); _tcpLayer.Recv += pack => { _tcpLayerRecv = Encoding.ASCII.GetString(pack.ReadAllBytes()); }; for (var i = 0; i < 50; i++) { _tcpLayer.Update(); yield return(null); } } finally { _tcpLayer.Dispose(); _serverThread.Interrupt(); _serverThread.Abort(); } Assert.AreEqual("ABCDEFG", _tcpLayerRecv); }