public NetClient() { tcpPkgReader = new PacketReader(NetConfig.TCPBuffersize * 4096); tcp = new TcpClientToken(NetConfig.TCPBuffersize, NetConfig.BufferNumber); tcp.onConnect = OnTCPConnect; tcp.onDisConnect += OnTCPDisConnect; tcp.onReceive += OnTCPRec; }
/// <summary> /// 构造函数 /// </summary> /// <param name="tcpClientHostConfig"></param> /// <param name="sessionHandle"></param> public TcpClientHost(TcpClientHostConfig tcpClientHostConfig, SessionHandle sessionHandle, ITcpClientLog tcpClientLog , Action<TcpClientToken> connectionToServerSuccessAction = null , Action<Exception> socketErrorAction = null) { _tcpClientHostConfig = tcpClientHostConfig; _iLog = tcpClientLog; _seeesionHandle = sessionHandle; _clientToken = new TcpClientToken(_seeesionHandle, _iLog); SocketErrorAction = socketErrorAction; ConnectionToServerSuccessAction = connectionToServerSuccessAction; }
void Tcp() { TcpServerToken token = new TcpServerToken(2, 2048); token.onAcccept += (tok) => { Log.L(token.curConCount); Log.L("Accept " + tok.endPoint); }; token.onReceive += (tok, seg) => { //Log.I("Rec " + tok.EndPoint); byte[] buffer = new byte[seg.count]; Array.Copy(seg.buffer, seg.offset, buffer, 0, seg.count); Log.L(Encoding.UTF8.GetString(buffer) + " SS "); token.SendAsync(tok, seg, true); }; token.onDisConnect += (tok) => { Log.L("Dis " + tok.endPoint); Log.L(token.curConCount); }; token.Start(8888); // token.Stop(); TcpClientToken c = new TcpClientToken(2048, 12); c.onReceive += (tok, seg) => { //Log.I("Rec " + tok.EndPoint); byte[] buffer = new byte[seg.count]; Array.Copy(seg.buffer, seg.offset, buffer, 0, seg.count); Thread.Sleep(1000); Log.L(Encoding.UTF8.GetString(buffer) + " cc "); c.SendAsync(seg, true); }; c.ConnectAsync(8888, "127.0.0.1"); Log.L(c.connected); byte[] bu = Encoding.UTF8.GetBytes("123"); c.SendAsync(new BufferSegment(bu, 0, bu.Length)); Thread.Sleep(1000); c.DisConnect(); while (true) { if (c.connected) { c.SendAsync(new BufferSegment(bu, 0, bu.Length)); } Thread.Sleep(100); } }
public void Accredit(TcpClientToken token, Action<bool> accreditEnd) { accreditEnd(true); }
public void ProcessReceive(string argument, TcpClientToken token) { //Console.WriteLine("ProcessSend:{0}", argument); }
public bool Accredit(TcpClientToken token) { return true; }