private HPSocketCS.HandleResult OnAccept(HPSocketCS.IServer sender, IntPtr connId, IntPtr pClient) { // 客户进入了 // 获取客户端ip和端口 string ip = string.Empty; ushort port = 0; if (mServer.GetRemoteAddress(connId, ref ip, ref port) == false) { return(HPSocketCS.HandleResult.Error); } CTcpConnect conn; lock (this) { if (mDictConnects.TryGetValue(connId, out conn) == false) { conn = new CTcpConnect(this, ip, port, connId); mDictConnects[connId] = conn; } } if (OnTcpConnected != null) { OnTcpConnected(conn); } return(HPSocketCS.HandleResult.Ok); }
private HPSocketCS.HandleResult OnPointerDataReceive(HPSocketCS.IServer sender, IntPtr connId, IntPtr pData, int length) { CTcpConnect conn = GetTcpConnect(connId); if (conn != null) { conn.OnDataReceive(pData, length); } return(HPSocketCS.HandleResult.Ok); }
private HPSocketCS.HandleResult OnClose(HPSocketCS.IServer sender, IntPtr connId, HPSocketCS.SocketOperation enOperation, int errorCode) { CTcpConnect conn = null; lock (this) { mDictConnects.TryRemove(connId, out conn); if (conn != null && OnTcpDisConnected != null) { OnTcpDisConnected(conn); } } conn.OnDisconnect(); return(HPSocketCS.HandleResult.Ok); }
private HPSocketCS.HandleResult OnPrepareListen(HPSocketCS.IServer sender, IntPtr soListen) { // 监听事件到达了,一般没什么用吧? return(HPSocketCS.HandleResult.Ok); }
private HPSocketCS.HandleResult OnShutdown(HPSocketCS.IServer sender) { return(HPSocketCS.HandleResult.Ok); }
private HPSocketCS.HandleResult OnSend(HPSocketCS.IServer sender, IntPtr connId, byte[] bytes) { // 服务器发数据了 return(HPSocketCS.HandleResult.Ok); }