2014-10-28 2 views
1

에코 기능이있는 작은 웹 소켓 서버를 만들기 위해 SuperWebSocket 토론에서 example을 추적했습니다. 그러나 내 서버는 하나의 메시지 만 수신하고 다시 보낼 수 있습니다. 두 번째 메시지를 보내려고하면 연결이 닫힙니다. 내 서버를 테스트하려면 this echo page을 사용합니다.SuperWebSocket 서버는 하나의 메시지 만받을 수 있습니다.

여기 내 코드 (내가 여기 MVVM없이 WPF를 사용)입니다 : 나는 문제없이 서버에서 메시지를 보낼 수 있습니다

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

+0

혹시 이것을 알아 냈습니까? –

+0

@DepartamentoB 미안하지만, 나는 아직도 그 일이 무엇인지 기억할 수있다. 그러나 나는이 정확한 문제에 관해서 정말로 기억하지 못한다. 나는이 질문에 대해 잊어 버렸습니다. – AndreySarafanov

답변

0

에 한번 교체 :

ws.NewMessageReceived += ws_NewMessageReceived; 

로 :

ws.NewMessageReceived += new SuperWebSocket.SessionEventHandler<SuperWebSocket.WebSocketSession, string>(ws_NewMessageReceived); 
관련 문제