Почему я не получаю ничего от клиента JS (как расширение Chrome)? - PullRequest
0 голосов
/ 30 января 2019

Введение

Я учусь на JS (после того, как немного поработал с Java) и наткнулся на сокеты в javascript.

Проблема

Я сделал сервер Python, который прослушивает, затем я загрузил расширение JS в Chrome, но сервер не получает никакого сообщения.Где я ошибся или чего мне не хватает?

manifest.Json (может быть, это уместно, так как я не смог сделать это .js как «фон»)

 {
"manifest_version": 2,
"name": "Server-Test-Ext",
"version": "0.1",

"content_scripts": [
{
    "matches": ["<all_urls>"],
    "js": ["socket.js", "client.js"]


}]


}

client.js (пример с сайта Socket.io)

var socket = new io.Socket();

socket.connect('https://localhost:8080');   

socket.on('connect', function(){
    // connected!
  });
  socket.on('message', function(msg){
      // message coming
  });
socket.send('Hello world!');

server.py

import socket

HOST = '127.0.0.1'
PORT = 8080

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    conn, addr = s.accept()
    with conn: 
        print('Connected by', addr)
        while True:
            data = conn.recv(1024)
            if not data:
                break
            conn.sendall(data)

Сервер создаетуспешно tcp (вы можете увидеть это, набрав на CMD netstat -an))

Примечания:

- I am using Visual Studio Code (cool text editor, still learning it)
- I am new to the subject (self-taught)

Я ожидал получить сообщение на сервере Python, который работаетдо доп.Очевидно.

Спасибо за интерес к этому вопросу.

1 Ответ

0 голосов
/ 30 января 2019

вам нужно объявить разрешение сокета для вашего manifest.js.

детали: https://developer.chrome.com/apps/manifest/sockets

...