/// <summary> /// 连接服务器 /// </summary> /// <param name="ipAddress"></param> /// <param name="port"></param> /// <returns></returns> public void TCPClientConnect(IPAddress ipAddress, int port) { TCPClientSocketConnections = _TCPClientSocketBase.CreateSocket(ipAddress, port, ProtocolType.Tcp); TCPClientSocketConnections.SetSocketOption( SocketOptionLevel.Socket, SocketOptionName.ReceiveBuffer, _TCPClientSocketSetting.ReceiveBufferSize); TCPClientSocketConnections.SetSocketOption( SocketOptionLevel.Socket, SocketOptionName.SendBuffer, _TCPClientSocketSetting.SendBufferSize); TCPClientSocketAsyncEventArgsConnections.RemoteEndPoint = _TCPClientSocketBase.IPEndPoint; bool _ConnectPending = TCPClientSocketConnections.ConnectAsync(TCPClientSocketAsyncEventArgsConnections); DepictInfo = string.Format(cultureInfo, "正在连接服务器,请稍后......"); if (!_ConnectPending) { TCPClientProcessConnect(TCPClientSocketAsyncEventArgsConnections); } }
/// <summary> /// 启动服务器,开始侦听客户端连接 /// </summary> /// <param name="ipAddress">服务器IP地址</param> /// <param name="port">服务器端口号</param> /// <returns>启动成功返回True,否则返回False</returns> public bool TCPServerStart(IPAddress ipAddress, int port) { try { TCPServerSocketConnections = _TCPServerSocketBase.CreateSocket(ipAddress, port, ProtocolType.Tcp); TCPServerSocketConnections.SetSocketOption( SocketOptionLevel.Socket, SocketOptionName.ReceiveBuffer, _TCPServerSocketSetting.ReceiveBufferSize); TCPServerSocketConnections.SetSocketOption( SocketOptionLevel.Socket, SocketOptionName.SendBuffer, _TCPServerSocketSetting.SendBufferSize); TCPServerSocketConnections.Bind(_TCPServerSocketBase.IPEndPoint); TCPServerSocketConnections.Listen(_TCPServerSocketSetting.DefaultMaxConnctions); TCPServerStartAcceptAsync(null); return(true); } catch { return(false); } }