Register for your free account! | Forgot your password?

You last visited: Today at 22:08

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#][JS] Websockets

Discussion on [C#][JS] Websockets within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1

 
FUTDealer's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 1,190
Received Thanks: 175
[C#][JS] Websockets

Hallo,


Ich will euch ein Tutorial zu den Websockets vorstellen.

Websockets und C# könnte man zum Beispiel wunderbar zur mobilen Steuerung eines Bots nutzen.

Dieses Tutorial erfordert HTML, Javascript und C# Kenntnisse.

Zu allererst benötigen wir folgendes:
  • Einen Webserver/Webspace
  • Visual Studio/Entwicklungsumgebung für C#
  • Fleck (WebsocketServer) -> Download

Zu erst müssen wir ein neues Projekt im Visual Studio erstellen. Wie das geht sollte klar sein. Danach müssen wir für Fleck einen Verweis hinzufügen, dafür machen wir einen Rechtsklick auf den Namen der Projektmappe gehen auf "Hinzufügen" und dann auf "Vorhandenes Projekt". Nun navigiert ihr in das davor entpackte Archiv und öffnet die Datei(Fleckmaster -> src -> Fleck). Jetzt gehen wir auf unser Projekt, klicken auf Verweis hinzufügen und wählen dort Fleck aus.

Nun kommen wir zum Code.

Als erstes müssen wir eine "using direktive" hinzufügen, dazu einfach ganz oben:
PHP Code:
using Fleck
schreiben.

Danach müssen wir mit
PHP Code:
var server = new WebSocketServer("ws://localhost:8181"); 
eine Instanz erstellen, welche wir gleich brauchen.

Die Adresse und den Port könnt ihr jederzeit wieder abändern.

Jetzt kommt ein etwas komplexerer Part, wo wir mit Lambda arbeiten werden. Kenntnisse sind dort meiner Meinung nach nicht erfordert, weil wir das nur 1x nutzen werden, und zwar um den Websocketserver zu starten.

PHP Code:
server.Start(socket =>
                {
                    
socket.OnOpen = () =>
                    {
                        
//wenn neuer Client kommt wird eine Messagebox angezeigt
                        
MessageBox.Show("Neue Connection");
                        
// Senden von einer Willkommensnachricht auf welche später vom Client geantwortet wird
                        
socket.Send("Hallo, du bist hier im Tutorial!");
                    };
                        
// Wenn der Client die Seite verlässt wird eine Messagebox angezeigt.
                    
socket.OnClose = () => MessageBox.Show("Er hat den Server verlassen!"); 
                    
//Wenn ein Error auftritt, wird dieser in einer Messagebox ausgegeben
                    
socket.OnError error => MessageBox.Show(error.ToString());
                    
//Auswerten/Ausgeben von Messages
                    
socket.OnMessage message =>
                    {
                     
//Wenn der Client eine Nachricht sendet, wird eine Messagebox angezeigt.
                        
MessageBox.Show("Habe folgende Nachricht erhalten: " message);
                        
                    };

                }); 
Damit wäre auch der C#-Teil getan.

Somit können wir mit dem HTML/Javascript Teil anfangen.

Ihr baut eine Standart-HTML-Seite auf, im <head> Teil fügt ihr allerdings noch ein <script> Tag ein, wo wir unser Javascript Code hineinschreiben.

Mit

PHP Code:
conn = new WebSocket('ws://localhost:8181'); 
erstellen wir hier eine Instanz des Websockets welchen sich fürs connecten zum WebSocketServer den in C# geschrieben haben brauchen. Hier muss allerdings beachtet werden das die Adresse vom Websocket(Javascript) mit der aus dem Websocketserver(C#) gleich ist.

Hier mal der gesamte <script> Teil:
PHP Code:
                        conn = new WebSocket('ws://localhost:8181');
            
            
conn.onopen = function() {
            
alert('Die Connection wurde soeben eroeffnet');
            }
            
conn.onmessage = function(event) {
            var 
msg event.data;
            
alert('Habe eine Nachriht erhalten: ' msg); 
            var 
ans prompt('Welche Nachricht möchten sie zuruecksenden?');
            
conn.send(ans);
            }
            
conn.onclose = function() {
            
alert('Connection wurde geschlossen / war nie verfuegbar.');
            } 
Hier sollte eigentlich alles klar sein, hier werden einfach die Events behandelt.
FUTDealer is offline  
Thanks
3 Users
Reply




All times are GMT +1. The time now is 22:09.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.