none
如何在PDA上Listen訊息 RRS feed

  • 問題

  • 我要寫一個PDA的程式,讓PDA能夠隨時接收別人傳來的訊息,但是PDA好像無法實作TcpListener,因此無法一直在那監聽別人的連線,請問有什麼方法可以解決嗎?

    2006年11月30日 下午 02:48

解答

所有回覆

  • .NET CF V1, V2都支援TcpListener呀~

    http://msdn2.microsoft.com/zh-tw/library/system.net.sockets.tcplistener(VS.80).aspx

    善用MSDN Library,有益身體健康~

    2006年11月30日 下午 04:49
  • 這位大大,那可以請你幫我看一下下面的程式碼有什麼地方有問題嗎?我一直試都會有例外錯誤產生,麻煩您指點一下。

    public Form1()
    {
       InitializeComponent();

       ListenEP = new IPEndPoint(Dns.GetHostEntry(Dns.GetHostName()).AddressList[0], 1400);
       Listener = new TcpListener(ListenEP);
       Listener.Start();
       ListenThread = new Thread(new ThreadStart(Listen));
       ListenThread.Start();
    }

    //監聽
    private void Listen()
    {
         while (true)
         {
            try
            {
               ListenerSocket = Listener.AcceptSocket();
               ProcesserThread = new Thread(new ThreadStart(Processer));  
               ProcesserThread.Start();
            }
         catch (Exception ex)
         {
            MessageBox.Show(ex.ToString());
         }
        }
    }

    //顯示訊息
    private void Processer()
    {
        ReadBuffer = new byte[128];
        int bytes = 0;
        bytes = ListenerSocket.Receive(ReadBuffer);
        string msg = Encoding.Default.GetString(ReadBuffer, 0, bytes);
        MessageBox.Show(msg);
    }

    ============================================
    啟動Listen時會收到一個例外錯誤訊息:
    System.Threading.ThreadAbortException:
    ThreadAbortException
    於 System.Net.OSSOCK.accept()
    於 System.Net.Sockets.Socket.AcceptNoCheck()
    於 System.Net.Sockets.TcpListener.AcceptSocket()
    於 Client.Form1.Listen()

    2006年11月30日 下午 05:49
  • 我已經搞定了,感謝。
    2006年12月1日 下午 02:06
  • 可以請問一下你是怎麼解決的嗎

    2008年9月9日 下午 04:55