我正在尝试制作一个chrome扩展,它可以将当前页面的url发送到另一台机器上运行的python服务器。我是javascript的新手,但还没有找到任何关于socket,python和jvascript的东西。
python服务器的代码:
import socket
import sys
from _thread import *
import webbrowser
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = ""
port = 9999
try:
s.bind((host,port))
except socket.error as e:
print (str(e))
s.listen(5)
def threaded_client(conn):
conn.send(str.encode("Message recieved \n"))
while True:
reply = ""
data = conn.recv(2048)
b = str(data)
link = b[2:-1]
#if data == "":
conn.send(str.encode("\n hi\n"))
webbrowser.open(link)
if not data:
break
conn.sendall(str.encode(reply))
print (data)
print (link)
conn.close()
while True:
conn, addr = s.accept()
print("connected to:" +addr[0]+":"+str(addr[1]))
start_new_thread(threaded_client,(conn,))
我不知道我的客户端代码有多么有用,因为我没有设法在客户端和服务器之间建立连接。
javascript客户端代码: html位:
<h1> Wincast </h1>
<button type="button" id="sendy">Send to server</button>
<script src="sending.js"></script>
javascript位:
$('#sendy').bind('click', sendAMessage());
function sendAMessage(msg) {
var c = net.createConnection(9999, '192.168.2.105');
c.on("connect", function() {
// connected to TCP server.
c.write(msg);
});
}
}
我再次对javascript和制作Chrome扩展程序非常新,我们非常感谢。目前我最关心的是在客户端和服务器之间建立连接。其余的我希望可以搞清楚。