コード例 #1
0
        //private void ListenClientConnect()
        //{
        //    while (true)
        //    {
        //        Socket clientSocket = serverSocket.Accept();
        //        clientSocket.Send(Encoding.ASCII.GetBytes("Server Say Hello"));
        //        Thread receiveThread = new Thread(ReceiveMessage);
        //        receiveThread.Start(clientSocket);
        //    }
        //}
        //private void ReceiveMessage(object clientSocket)
        //{
        //    Socket myClientSocket = (Socket)clientSocket;
        //    while (true)
        //    {
        //        try
        //        {
        //            //通过clientSocket接收数据
        //            myClientSocket.Receive(result);
        //            int receiveContent = Convert.ToInt32(result[0]) - 48;
        //            //新建高优先级线程处理接收数据
        //            Thread dealThread = new Thread(() =>
        //            {
        //                this.Dispatcher.Invoke(DispatcherPriority.Normal,
        //                    new Action(() => this.dealWithReceive(receiveContent)));
        //            });
        //            dealThread.Start();
        //        }
        //        catch (Exception ex)
        //        {
        //            //新建线程输出异常信息
        //            Thread exThread = new Thread(() =>
        //            {
        //                this.Dispatcher.Invoke(DispatcherPriority.Normal,
        //                    new Action(() => hostStatus.Text += "\n" + DateTime.Now.ToString() + ":发生异常 — " + ex.Message));
        //            });
        //            exThread.Start();
        //            myClientSocket.Shutdown(SocketShutdown.Both);
        //            myClientSocket.Close();
        //            break;
        //        }
        //    }
        //}
        /// <summary>
        /// 开始Udp服务
        /// </summary>
        private void startHost_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                udp = new UdpReceiver(myProt);
                udp.StartReceive();
                startHost.IsEnabled = false;
            }
            catch (Exception ee)
            {
                MessageBoxResult msg = MessageBox.Show(ee.Message);
                startHost.IsEnabled = true;

            }

            //Thread nThread = new Thread(() =>
            //{
            //    this.Dispatcher.Invoke(DispatcherPriority.Normal,
            //        new Action(() => hostStatus.Text += "\n" + DateTime.Now.ToString() +":启动监听成功"));
            //});
            //nThread.Start();

            //serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            ////serverSocket = new Socket(SocketType.Stream, ProtocolType.Udp);
            //serverSocket.Bind(new IPEndPoint(ip, myProt));  //绑定IP地址:端口
            //serverSocket.Listen(3);    //设定最多10个排队连接请求

            //myThread = new Thread(ListenClientConnect);
            //myThread.Start();
        }