2014-10-28 122 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); 
相关问题