// 关闭套接字客户端 void CloseSocketClient() { if (_client != null) { _client.Close(); _client = null; } // 更新UI btnConnect.IsEnabled = true; btnSend.IsEnabled = false; }
// 创建套接字客户端和连接到服务器 // // 为了方便,我们使用127.0.0.1地址在本地连接套接字服务器。 // 为了能让不同机器上的客户端通过网络访问套接字服务器, // 可在文本框中输入服务器ip地址,再点击“连接”。 // 为了套接字服务器可通过网络访问,请看CCSL3SocketServer的评论。 bool OpenSocketClientAsync(string ip) { try { var endpoint = new IPEndPoint( IPAddress.Parse(ip), 4502); _client = new SocketClient( endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); // 注册事件 _client.ClientConnected += new EventHandler<SocketMessageEventArgs>(_client_ClientConnected); _client.MessageReceived += new EventHandler<SocketMessageEventArgs>(_client_MessageReceived); _client.MessageSended += new EventHandler<SocketMessageEventArgs>(_client_MessageSended); _client.ConnectAsync(endpoint); return true; } catch (Exception ex) { MessageBox.Show("连接套接字时发生异常: " + ex.Message); CloseSocketClient(); return false; } }