È possibile creare un programma javascript che si connette a un semplice server C# utilizzando un semplice socket e non un WebSocket.connettersi al server C# da javascript
puoi aiutarmi con un campione.
È possibile creare un programma javascript che si connette a un semplice server C# utilizzando un semplice socket e non un WebSocket.connettersi al server C# da javascript
puoi aiutarmi con un campione.
Non esiste un modo standard per effettuare una connessione TCP dal codice Javascript in esecuzione in un browser web. (Vedere la risposta di @Johannes Hahn)
Per comunicare tra client e server, prendere in considerazione la libreria Microsoft SignalR. È progettato per consentire a un programma Javascript, in esecuzione nel browser, di comunicare con un server C#. SignalR userà websocket; tuttavia, continuerà a funzionare se i websocket non sono disponibili ricadendo su altri trasporti. È inoltre possibile specificare i trasporti, se è necessario impedirgli di tentare di utilizzare websockets.
La connessione SignalR si avvia come HTTP e viene quindi promossa a una connessione WebSocket se disponibile. WebSocket è il trasporto ideale per SignalR, dal momento che rende l'uso più efficiente della memoria del server, ha la latenza più bassa e ha le caratteristiche più sottostanti (come la comunicazione full duplex tra client e server), ma ha anche i requisiti più stringenti : WebSocket richiede che il server utilizzi Windows Server 2012 o Windows 8 e .NET Framework 4.5. Se tali requisiti non vengono soddisfatti, SignalR tenterà di utilizzare altri trasporti per effettuare le connessioni.
Inoltre, essere consapevoli che se Javascript è non esecuzione in un browser Web, è possibile effettuare connessioni di rete regolari. Ad esempio, un'applicazione Javascript in esecuzione su Node.js.
Sembra che almeno Firefox dovrebbe conoscere socket, vedere https://developer.mozilla.org/en-US/docs/Web/API/TCP_Socket_API. Ma (presi dalla stessa fonte) i socket TCP o UDP non fanno parte di nessuno standard e quindi probabilmente non supportati o completamente diversi negli altri browser.
In linea di principio n. Per motivi di sicurezza, i browser consentono solo un numero limitato di protocolli. Chrome ha un'API socket, ma non è standard - https://developer.chrome.com/apps/sockets_tcp. Esistono soluzioni che utilizzano una connessione WebSocket a un server che stabilisce quindi una connessione socket TCP, ad es. https://github.com/kanaka/websockify, http://artemyankov.com/tcp-client-for-browsers/, quindi se non è possibile aggiungere WebSocket direttamente al server, è possibile che si desideri verificarlo.
JavaScript in esecuzione dove? In un browser? In una console? Su un server? –
JavaScript in esecuzione in un browser –
No, non è possibile utilizzare la connessione socket nel browser, il socket di accesso direttamente dal browser non accadrà mai perché si apre un rischio enorme. – SilentTremor