Exemplo n.º 1
0
        // 关闭套接字客户端
        void CloseSocketClient()
        {
            if (_client != null)
            {
                _client.Close();
                _client = null;
            }

            // 更新UI
            btnConnect.IsEnabled = true;
            btnSend.IsEnabled = false;
        }
Exemplo n.º 2
0
        // 创建套接字客户端和连接到服务器
        //
        // 为了方便,我们使用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;
            }
        }