Python 板


LINE

各位前辈好, 小弟手边碰到一个问题, 还望各位前辈帮忙。 目前有个在本机内的 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 但都没有找到合适的解决办法或小弟没找到问题的症结点…… 关於这部分, 希望有前辈可以告知小弟该如何解决! 先谢谢前辈花时间阅读此篇文章了, 谢谢! --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.8.5.181 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1566983844.A.099.html
1F:→ s860134: gdb python 08/28 22:55
2F:→ s860134: 或是 pdb 之类的 08/28 22:56
知识不足没有听闻过, 我先学习一下是什麽。
3F:推 AndyLee76: 版本不合吧 socket.io在Python上很难接 08/28 23:12
在自己尝试爬文的路上有注意到这点, 爬文有篇文章说可以尝试使用 socketIO_client_nexus, 但调整程式码後还是遭遇同样的问题。
4F:推 rexyeah: https://pypi.org/project/socketIO-client/ 08/29 09:46
5F:→ rexyeah: 我看example还蛮清楚的,example跑得起来吗? 08/29 09:46
我试过: from socketIO_client import SocketIO, LoggingNamespace with SocketIO('localhost', 8000, LoggingNamespace) as socketIO: socketIO.emit('aaa') socketIO.wait(seconds=1) (LoggingNamespace 不太确定使用方法,  我测试时都把他砍了) 以及: from socketIO_client import SocketIO, LoggingNamespace def on_connect(): print('connect') socketIO = SocketIO('localhost', 8000, LoggingNamespace) socketIO.on('connect', on_connect) socketIO.emit('aaa') socketIO.wait(seconds=1) (上述 Port 都有记得更改,  这边只是沿用 socketIO_client 的范例内容) 两者都与内文遭遇同样的问题。 * * * * * 後来把 LoggingNamespace 补回去, 但能力太浅看不太出来差异…… 再来是, 刚刚把 server.js 中跟判断连线网址的内容全部砍掉後, 莫名地可以运作了, 我可能要先往 server.js 那边再确认一下发生甚麽问题。 * * * * * 来回报一下最後的结果。 首先是函式库, socketIO_client 和 socketIO_client_nexus 两者, 前者好像可以应用在比较旧版本的 socket.io, 而後者则是比较新的版本, 我中途找到 socketIO_client_nexus 後就一直使用, 没有回测 socketIO_client 在解决问题後能不能通。 其次是问题跟函式库本身没太大关系, 是我自己 server.js 有段检查 headers 以及判断检查结果的程式码, 导致 socketIO_client_nexus 传过去时因为缺少 headers 所以直接炸掉, 而内文中遭遇的其他问题应该都是修错地方导致的。 後来调整成: socketIO = SocketIO(targetAddress, serverPort, headers={headerKey: headerValue}) 就没有出现问题了。 很抱歉遭遇了一个满蠢的问题, 也再次谢谢各位前辈花时间阅读与回应! ※ 编辑: jakeasa123 (175.181.39.217 台湾), 08/29/2019 15:41:32







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP