Python中文
首页
教程
问答
标签
搜索
登录
注册
Python发送紧急数据(tcp)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我在使用python通过TCP发送紧急数据时遇到了一个问题。在</p> <p>我已经研究过TCP头的结构和带外数据传输机制,但是我仍然不明白如何实现这一点。。在</p> <p>简单服务器:</p> <pre><code>#default steps s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((TCP_IP, TCP_PORT)) s.listen(1) conn,addr = s.accept() ... #oob conn.send('!',MSG_OOB) ... </code></pre> <p>简单客户端:</p> ^{pr2}$ <p>好,收到数据。在</p> <p>但当我周期性地发送数据时,如何指示OOB信息已经到达客户端呢?在</p> <p>例如:</p> <pre><code>serverFile = open(serverPath, 'rb') while True: fileBytes = serverFile.read(1000) if not fileBytes: break; try: i += 1 if i % 1000 == 0: print 'sending urgent..' conn.send('!',MSG_OOB) conn.send(fileBytes) except socket.error, (value, message): if conn: conn.close() serverFile.close() print 'Error while sending data : error code - ' + str(value) + '; message: ' + message exit(1) serverFile.close() </code></pre> <p>如果客户端尝试使用“data=连接接收(BUFFER_SIZE,MSG_OOB)'-什么都不起作用。 我还没有找到任何方法来使用SELECT或smth来解决问题。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>def handler(sig_num, frame): .... signal.signal(signal.SIGURG, handler) fcntl.fcntl(client.fileno(), fcntl.F_SETOWN, os.getpid()) </code></pre> <p>这将有助于引起OOB数据的注意。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
pyVISA GPIB GET(组执行触发器)
2 回答
Pyvisa IOerror设备:Korad K3005d电源
7 回答
PyVISA mac OS X(山狮)安捷伦33250
6 回答
Pyvisa Pyusb无法加载大于1 MB的序列
10 回答
pyVisa RS232太慢
7 回答
PyVISA RS232超时错误(安捷伦电源)
7 回答
PyVISA SCPI命令和查询(值更新问题)
2 回答
PyVISA SerialInstrument需要硬重置才能在故障后连接
2 回答
pyvisa,未找到函数viOpen
8 回答
pyVISA:以编程方式将仪器返回到本地模式
8 回答
pyvisa:接口类型是什么意思?
3 回答
pyvisa.errors.VisaIOError:VI_ERROR_TMO(1073807339):操作完成前超时
10 回答
PyVisa“更复杂的示例”根本不运行Keithley 2400不理解的命令
10 回答
PyVisapy后端
5 回答
PyVISA不能写入超过7F的十六进制字符
1 回答
PYVISA中的ENUM模块和cStringIO模块
9 回答
PyVisa代码的图形用户界面
2 回答
Pyvisa使用按键电源超时
10 回答
PyVISA和Kethley 2701只能从一个通道获取结果
7 回答
PyVisa和Printing New D
7 回答