【Python套接字超时错误】教程文章相关的互联网学习教程文章

使用python套接字连接到raspberrypi时出错【代码】

我试图通过网络连接到我的覆盆子pi.我正在运行python作为raspi上的服务器.这是我从网上下载的简单服务器代码:import socketserversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname() port = 80 print (host) print (port) serversocket.bind((host, port))serversocket.listen(5) print ('server started and listening') while 1:(clientsocket, address) = serversocket.accept()print (...

从python发送套接字到Meteor(node.js)【代码】

我想从python发送一个包含数据的套接字(只是一个像“23”这样的整数)到一个使用Meteor编写的Web应用程序,这是一个构建在node.js和其他库之上的Web框架. 在python方面,我有以下代码:import serial, sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("localhost", 3000)) s.send ('something')我在Meteor方面要做什么?这个python代码是否正确?这与websockets不同吗?解决方法:Meteor使用DDP协议进行通信,因...

Python SSL套接字客户端身份验证

我正在尝试在python中设置服务器和客户端,其中服务器使用带证书的SSL对客户端进行身份验证.在线有很多SSL证书的例子,但我发现的一切都是服务器向客户端提供证书,客户端检查证书.我需要服务器来确保客户端有权连接到服务器.我了解如何生成和发送证书以及它们如何工作的基础知识.我会输入我的代码,但我没有SSL的客户端/服务器工作正常,我一直在引用this的SSL.该页面底部的客户端/服务器示例总结了我对python中SSL证书的理解. 我意识到...

在Python上使用套接字进行文件传输【代码】

尝试使用Python上的套接字构建一个简单的文件传输.我卡住了,似乎我无法发送文件的任何部分. 根据一些建议,我试图发送文件的最后一行,以便我知道何时完成连接. 但事实上,一旦我发送第一个包,客户端永远不会得到其余的. 在这里,您将看到我的代码(服务器端):import os import socket PORT = 8080 HOST = 'localhost' socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) socket.bind((HOST,PORT)) socket.listen(10) conn, ...

python – 通过套接字将多个数据(文本和图像)发送到服务器【代码】

我在python中创建了一个测试服务器,它通过套接字接收连接并保存png文件.但是,我想将一些其他数据传递给服务器,如文件的名称,发送它的用户等.但是我不能这样做,因为要接收数据,你必须通知你在缓冲区中读取的字节数. 我研究了很多,一些例子说使用struct并打包所有数据,但是一个图像到另一个图像的大小是不同的,我不能简单地制作一个结构格式,因为它对于我收到的每个文件都是不同的. 这是我到目前为止所做的工作: 服务器import socke...

python – 如何在ZMQ套接字中启动/退出时清除缓冲区? (防止服务器与死客户端连接)【代码】

我在python中使用REQ / REP类型套接字进行ZMQ通信.有多个客户端尝试连接到一个服务器.客户端脚本中添加了超时以防止无限期等待. 问题是当服务器没有运行,并且客户端试图建立连接时,它的消息会被添加到队列缓冲区中,理想情况下,此时该队列缓冲区甚至不应该存在.当脚本开始运行并且新客户端连接时,服务器首先获取先前客户端的数据.这不应该发生. 当服务器启动时,它假定客户端已连接到它,因为它曾尝试连接,并且无法干净地退出(因为服务...

带套接字的简单Python聊天应用程序【代码】

我正在尝试使用套接字在Python中创建一个简单的客户端/服务器聊天应用程序,并最终将其转换为Rock,Paper,Scissors的联网游戏. 我在网上找到了一个创建客户端/服务器的指南,但是我在修改循环时遇到了问题,因此每个脚本都会侦听另一个脚本,收到一条消息,然后显示一个raw_input,它将成为发送到另一个脚本的消息,然后依此类推.这是代码: client.py#!/usr/bin/python import socket s = socket.socket() host = soc...

python – fork:关闭所有打开的套接字【代码】

我正在使用multiprocessing.Pool.map,它会分叉当前进程. 我的理解是,默认情况下,包括套接字在内的所有文件描述符都是在分叉时从主进程复制的.主进程本身就是一个Web服务器(使用cherrypy),因此这对开放端口等造成了严重破坏.分叉进程实际上只在服务器正在使用的一个库中执行了一些CPU-heavy numerical stuff – 与Web无关/插座部分. 有没有一种简单的方法可以自动关闭新进程中的所有套接字?或者另一种避免分叉CherryPy服务器问题的...

如何在python中实现非阻塞套接字服务器【代码】

一个类似但不同的问题: 我有一个生成字符串的IRC客户端.每当有人说某事时,这个IRC客户端使用一个钩子来调用一个方法(somone_said).我想通过套接字将此字符串发送到我的Flash客户端. 我在flash中有一个工作客户端,在python中有一个服务器,但问题是它阻塞:1)在监听客户端连接时2)在等待生成下一条消息时 这会阻止IRC客户端响应其他输入. 我想我需要在一个单独的线程中创建我的套接字,但这会产生另外三个问题.1)我的someone_said事件...

Python套接字等待

我想知道是否有一种方法可以告诉python等待它从服务器获得响应以继续运行. 我正在写一个回合制游戏.我做了第一步,它将移动发送到服务器,然后将服务器发送到另一台计算机.这个问题来了.由于轮到我不再希望我的游戏等到它从服务器得到响应(等到其他玩家移动).但我的路线: 数据= self.sock.recv(1024) 挂起因为(我认为)它没有立即得到的东西.所以我想知道如何让它等待发生的事情,然后继续前进. 提前致谢.解决方法:该行sock.recv(1024...

套接字错误处理在python 2.5中是否与2.7不同?【代码】

下面是一个代码片段,其中包含我正在运行的python脚本化Windows服务的错误跟踪.它似乎在Windows XP上的python 2.7中工作正常,但我使用的生产机器在Windows Server 2003上运行python 2.5.我遇到的主要错误是’错误’对象没有属性’errno’我做的是从根本上做的事情错误的python 2.5适用于2.7? 代码剪辑:try:if s == None:s = self.connect()char = s.recv(1)line += charexcept socket.timeout:if s != None:s.close()s = Nonecont...

python SimpleHTTPRequestHandler服务器退出后使套接字处于TIME_WAIT状态【代码】

我有一个简单的服务器编写,扩展了SimpleHTTPRequestHandler 如果我在没有向服务器发出任何请求的情况下启动和停止它,我可以开始备份同一个端口,没有任何问题. 启动时,netstat看起来像这样:sam@hersheezy:server$sudo netstat -na --program | grep 8001 tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 23392/python发出请求后,netstat看起来像这样(即使请求完成后):sam@hersheezy:server$sud...

Scatter / gather套接字用Python编写

在POSIX C中,我们可以使用writev将多个数组一次写入文件描述符.当您必须连接多个缓冲区以形成通过套接字发送的单个消息时(例如,考虑HTTP标头和正文),这非常有用.这样我就不需要调用send两次,一次用于头部,一次用于body(防止消息在线路上的不同帧中分割),也不需要在发送之前连接缓冲区. 我的问题是,是否有Python等价物?解决方法:在即将到来的Python 3.3中,现在正在进行alpha测试.见socket.sendmsg.

python – 如何在等待接收数据时关闭阻塞套接字?【代码】

我有一个使用阻塞套接字来接收数据的服务.我遇到的问题是,如果仍在等待数据,我不知道如何正确关闭套接字.下面是我如何打开和等待数据的简短说明:我不想实现超时,因为根据python文档,套接字必须阻塞才能使用makefile. 因为我刚接触使用套接字进行编程,所以我可能会完全错误. 编辑: 应该注意的是,我无法改变服务器的运行方式.import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) reader...

python – 从UDP套接字读取所有数据【代码】

情况: 我有一个绑定到localhost UDP端口33100的sendersocket.我有一个绑定到localhost UDP端口33101的receiverocket套接字. 发送方套接字发送4500字节的数据(字符串“hello man”* 500).在接收方,我有一个epoll对象,它等待receiverocket上的EPOLLIN事件.当有活动时,我会这样做:while True:msg_received = receiver_socket.recv(128)if msg_received.decode("UTF-8") == "":breakelse:print msg_received.decode("UTF-8")问题: 主...

错误 - 相关标签