Exemple #1
0
        private void ListenerStart()
        {
            IPAddress ip   = IPAddress.Parse("127.0.0.1");
            const int port = 60000;

            tcpListener = new TcpListener(ip, port);
            tcpListener.Start();
            Debug.WriteLine("启动服务器成功,等待链接...");
            showMsgRichTextBox.Text = "启动服务器成功,等待链接...";
            while (true)
            {
                try
                {
                    TcpClient tcpClient = tcpListener.AcceptTcpClient();
                    Debug.WriteLine("OicqService Start");
                    OicqServicePoint servicePoint = new OicqServicePoint();
                    servicePoint.TcpClient = tcpClient;

                    servicePoint.Transmited += servicePoint_Transmited;
                    servicePoint.Start();
                    servicePoints.Add(servicePoint);
                }
                catch (ThreadAbortException)
                {
                    tcpListener.Stop();
                    break;
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                    break;
                }
            }
        }
Exemple #2
0
        private void servicePoint_Transmited(object sender, string dcode, string msg)
        {
            foreach (OicqServicePoint item in servicePoints)
            {
                if (item.code == dcode)
                {
                    try
                    {
                        OicqServicePoint oisp = (OicqServicePoint)sender;
                        item.SendMessage(oisp.code, msg);
                        return;
                    }
                    catch
                    {
                        //item.SendFailMessage("Send Fail !");
                    }
                }
            }
            OicqServicePoint failSp = (OicqServicePoint)sender;

            Debug.WriteLine(failSp.code + "...");
            failSp.SendFailMessage("send fail" + "/" + msg);
        }