2014-10-28 123 views
1

我在SuperWebSocket討論中關注了一個example,創建了一個帶有echo功能的小型Web套接字服務器。但是,當我嘗試向其發送第二條消息時,我的服務器只能接收和發回一條消息,連接關閉。我用this echo page來測試我的服務器。SuperWebSocket服務器只能收到一條消息

這裏是我的代碼(我用WPF不MVVM這裏):

public partial class MainWindow : Window 
{ 
    private WebSocketServer ws; 

    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    private void ConnectButton_Click(object sender, RoutedEventArgs e) 
    { 
     var r = new RootConfig(); 

     var s = new ServerConfig(); 
     s.Name = "SuperWebSocket"; 
     s.Ip = "Any"; 
     s.Port = 8089; 
     s.Mode = SocketMode.Tcp; 

     var f = new SocketServerFactory(); 

     if (ws != null) 
     { 
      ws.Stop(); 
      ws = null; 
     } 

     ws = new WebSocketServer(); 
     ws.Setup(r, s, f); 
     ws.NewMessageReceived += ws_NewMessageReceived; 
     ws.Start(); 
    } 

    private void ws_NewMessageReceived(WebSocketSession session, string e) 
    { 
     session.Send("Message: " + e); 
    } 
} 

我可以從服務器發送郵件沒有問題,但沒有關閉連接不能接收多個消息。這個問題的原因是什麼?如何解決?

+0

你能在谷歌瀏覽器控制檯什麼是錯誤的顯示看? – vtortola 2014-10-29 19:23:59

+0

你有沒有想過這個? – 2016-06-05 17:30:14

+0

@DepartamentoB對不起,我仍然記得那個任務是關於什麼的,但我並沒有真正記得有關這個確切問題的任何事情。我不好意思,當時我忘了這個問題。 – AndreySarafanov 2016-06-06 09:33:03

回答

0

嘗試更換:

ws.NewMessageReceived += ws_NewMessageReceived; 

有:

ws.NewMessageReceived += new SuperWebSocket.SessionEventHandler<SuperWebSocket.WebSocketSession, string>(ws_NewMessageReceived); 
相關問題