Подтвердить что ты не робот

Как создать сервер WebSocket с помощью SuperWebSocket

Я создаю приложение, которое требует WebSocket Communication. Все, что мне нужно, это простой WebSocketServer с возможностями потоковой передачи. Я обнаружил, что SuperWebSocket может удовлетворить мои потребности. Но мое плохое знакомство с С# затрудняет понимание кода. Может ли кто-нибудь показать мне, как создать простой сервер, который должен отображать сообщение, которое отправляется из браузера/веб-страницы. Я буду очень благодарен человеку, который показывает хорошее руководство. Я не мог понять использование их образцов кода.

EDIT:  Это то, чего я хочу достичь.    enter image description here

Если кто-то скажет точное решение, я приму его.

EDIT:    "Робар" уже дал прямой ответ. Это jsut Как я его использовал.

this.NewSessionConnected += new SessionEventHandler<WebSocketSession>(this.WebSocketServer_NewSessionConnected);

this.NewDataReceived += new SessionEventHandler<WebSocketSession, byte[]>(this.WebSocketServer_NewDataReceived);

this.NewMessageReceived += new SessionEventHandler<WebSocketSession, string>(this.WebSocketServer_NewMessageReceived);

this.SessionClosed += new SessionEventHandler<WebSocketSession, SuperSocket.SocketBase.CloseReason>(this.WebSocketServer_SessionClosed);
4b9b3361

Ответ 1

SuperWebSocket

Учебник для Пример эха

Алхимия

Если вы открыты для другого сервера С# WebSocket, вы можете использовать Alchemy. Реализация сервера довольно проста:

static void Main(string[] args) {
  var aServer = new WSServer(8100, IPAddress.Any) {
      DefaultOnReceive = new OnEventDelegate(OnReceive),
      DefaultOnSend = new OnEventDelegate(OnSend),
      DefaultOnConnect = new OnEventDelegate(OnConnect),
      DefaultOnConnected = new OnEventDelegate(OnConnected),
      DefaultOnDisconnect = new OnEventDelegate(OnDisconnect),
      TimeOut = new TimeSpan(0, 5, 0)
  };

  aServer.Start();
}

static void OnConnected(UserContext aContext) {
  Console.WriteLine("Client Connection From : " + aContext.ClientAddress.ToString());
  // TODO: send data back
}

Как упоминалось на их веб-сайте, у них есть простой пример чата.

Ответ 2

class Program
{
    static void Main(string[] args)
    {
        var listener = new TcpListener(IPAddress.Loopback, 8181);
        listener.Start();
        using (var client = listener.AcceptTcpClient())
        using (var stream = client.GetStream())
        using (var reader = new StreamReader(stream))
        using (var writer = new StreamWriter(stream))
        {
            writer.WriteLine("HTTP/1.1 101 Web Socket Protocol Handshake");
            writer.WriteLine("Upgrade: WebSocket");
            writer.WriteLine("Connection: Upgrade");
            writer.WriteLine("WebSocket-Origin: http://localhost:8080");
            writer.WriteLine("WebSocket-Location: ws://localhost:8181/websession");
            writer.WriteLine("");
        }
        listener.Stop();
    }
}