2014-10-28 6 views
1

Я провел example в обсуждениях SuperWebSocket, чтобы создать крошечный сервер веб-сокетов с функцией эха. Однако мой сервер может принимать и отправлять только одно сообщение, когда я пытаюсь отправить ему второе сообщение, соединение закрывается. Я использую 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

Вы можете увидеть в консоли Google Chrome, что показывает ошибка? – vtortola

+0

Вы когда-нибудь это выясняли? –

+0

@ DepartamentoB извините, я все еще помню, о чем шла речь, но я ничего не помню об этой точной проблеме. Мой плохой, что я тогда забыл об этом вопросе. – AndreySarafanov

ответ

0

Try замена:

ws.NewMessageReceived += ws_NewMessageReceived; 

с:

ws.NewMessageReceived += new SuperWebSocket.SessionEventHandler<SuperWebSocket.WebSocketSession, string>(ws_NewMessageReceived); 
Смежные вопросы