各位前辈好,
小弟手边碰到一个问题,
还望各位前辈帮忙。
目前有个在本机内的 Node js 服务器,
以 socket.io 在接收资料。
需求上,
要使用 Python 或其他语言以 socket 传送到服务器内,
虽然想过去学 javascript,
在请教朋友和爬文下,
总算是搞出了一个 html 页面,
用 socket.io 与服务器来往都如预期没有发现任何问题。
但是要传送给服务器的资料是一个外接设备扫描后的资料,
看了一些文章,
基于安全性问题都不建议使用 html 来读取设备的资料,
所以又回到了最初的状况。
之所以选择 Python,
是因为相较于其他语言比较熟悉,
而且当初为了测试那个设备,
读取资料的程式都已经弄好了,
如果能完成 socket 传送的部分,
后续就能很快速地准备了。
目前找到的的是 socketIO_client,
参照该函示库的范例以及一些网络文章后撰写如下:
import socketIO_client
def on_connect():
print('connect')
testSocket = socketIO_client.SocketIO('127.0.0.1/', 8800)
# print(testSocket)
testSocket.on('connect', on_connect)
testSocket.emit('SendSocket',
{'ScanResult': 'abc123'})
testSocket.wait()
服务器那边只要有连接就会跳一个“conn”的字串在 console 中,
一刚开始会不停地跳,
我还以为有传送,
但服务器没写好;
请教了朋友后,
他说并没有问题,
我也在一边请教一边写的情况下写了一个 html 档来确认服务器,
也证实了服务器本身并没有问题。
后来,
我加上了上头注解掉的 print 才发现,
原来 testSocket = socketIO_client.SocketIO('127.0.0.1/', 8800) 就已经卡住,
后面的程式根本没有运作过,
而这也是小弟发文想请教的部分,
试着 Google 但都没有找到合适的解决办法或小弟没找到问题的症结点……
关于这部分,
希望有前辈可以告知小弟该如何解决!
先谢谢前辈花时间阅读此篇文章了,
谢谢!