简介
我正在从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)
我的期望是在ext之前运行的python服务器上接收消息。显然。
感谢您对此问题的关注。
答案 0 :(得分:0)
您需要声明对manifest.js的套接字权限。