Проблемное соединение с сервером веб-сокета и клиентом - PullRequest
0 голосов
/ 24 апреля 2019

У меня проблема с соединением между сервером в кодировке python, который работает с веб-сокетами, и клиентом, который тоже работает с веб-сокетами.

using System; 
using System.Collections.Generic; 
using System.Linq; using System.Text; 
using System.Threading.Tasks; 
using WebSocketSharp;

namespace test1 {

class Program  {

static void Main(string[] args)  
{    
    using (var ws = new WebSocket("ws://192.168.43.37:8080"))
    {
        ws.Connect();
        Console.ReadKey(true);
    }
 } 

Когда программа генерируется, она показывает мне, что

25/04/2019 09:48:31|Fatal|WebSocket.Connect|System.Net.Sockets.SocketException (0x80004005): Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée 192.168.43.37:8080
                             à System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
                             à WebSocketSharp.WebSocket.setClientStream()
                             à WebSocketSharp.WebSocket.doHandshake()
                             à WebSocketSharp.WebSocket.connect()

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

var http = require('http').createServer(handler);

var fs = require('fs');

var io = require('socket.io')(http);

console.log('Server lauching'); http.listen(8080); // Прослушивание порта 8080

function handler (req, res) { //create server

fs.readFile(__dirname+'/index.html', function(err, data) { // читать соответствующий файл в папке

if (err) {

res.writeHead(404, {'Content-Type': 'text/html'}); // отображать 404 при ошибке

return res.end("404 Not Found");

}

res.writeHead(200, {'Content-Type': 'text/html'}); // запись HTML

res.write(data);

return res.end();

}); }

io.sockets.on('connection', function (socket) {

`socket.on('config', function (data){`  //When the webserver receives a websocket in channel 'config', logs the data and send a response to confirm for the user
    `console.log("data received");`
    `console.log(data);`
    `socket.emit('config', {'received':true});`
`});`

});

0 голосов
/ 25 апреля 2019

Мой французский ржавый, но я почти уверен, что исключение переводит на целевую машину, активно отказавшую в соединении.

Не думаю, что с вашим кодом что-то не так.

Убедитесь, что порт 8080 открыт на удаленном компьютере Убедитесь, что конечная точка веб-службы / API доступна в браузере.

Этот пост содержит ряд других возможностей для проверки: Невозможно установить соединение, потому что целевой компьютер активно отказался от него?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...