【如何将套接字绑定到python中的接口(缺少socket.SO_BINDTODEVICE)】教程文章相关的互联网学习教程文章

Python:通过套接字发送Integer值【代码】

我正在使用Python通过服务器和客户端应用程序之间的TCP套接字进行数据通信.我需要发送一个代表数据样本的4个字节.初始样本是32位无符号整数.如何通过套接字发送这4个字节的原始数据? 我想发送数据:0x12345678和0xFEDCBA98通过套接字发送的原始数据应该是如果我在wireshark / tcpdump / etc上读取的那样.我不希望8个十六进制数中的每个值都表示为ascii字符,我希望原始数据保持不变. 谢谢解决方法:在Python中发送二进制数据的主要方...

Python one liner静音套接字监听器【代码】

是否可以编写python one-liner,它将侦听特定的tcp端口,接受连接,并且不响应任何内容. 我可以用两行来做到这一点:import socket; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.bind(("", 5555)); s.listen(1); accepter = s.accept(); while True: data = accepter[0].recv(1024);但我想从python -c运行它,所以它应该是一行. 我怎样才能做到这一点?解决方法:使用itertools.count和reduce(在Python 3.x中,您需要使用...

C(nanomsg)和Python(非nanomsg)之间的套接字连接【代码】

我在C中创建了一个套接字服务器(使用nanomsg),它将通过TCP与Python脚本(使用标准的“Socket”实现)进行通信: C代码(无错误处理):#include <nanomsg/nn.h> #include <nanomsg/pair.h> ... char buf[23]; ... socket = nn_socket(AF_SP, NN_PAIR); nn_bind(socket, "tcp://127.0.0.1:xxxxx"); ... nn_recv(socket, buf, sizeof(buf), 0); ... nn_shutdown(socket, endpoint_id);Python的代码:s = socket.socket(socket.AF_INET, ...

在SSL套接字上使用部分recv()的python的select()行为

我创建了一个SSL套接字(服务器端)并将套接字放入select()队列.当套接字“准备好”读取时,select()正确返回. 然后我recv(1024)字节.在某些情况下,这将获得所有数据,而在其他情况下,它可能不会. 但是,如果套接字缓冲区中仍有数据(因为我没有全部recv()),并且我再次将同一个套接字传递给select(),它将不会被返回为“准备好”进行读取,即使我知道那里有数据. 我想我的问题是确实从select()的角度来确认“准备阅读”的真正意义,以及处理...

使用AF_UNIX套接字的python asyncore问题【代码】

我在使用带有AF_UNIX套接字的asyncore时遇到了一些问题.这段代码import asyncore, socket, os class testselect(asyncore.dispatcher):path = '/tmp/mysocket'def __init__(self):asyncore.dispatcher.__init__(self)self.create_socket(socket.AF_UNIX, socket.SOCK_DGRAM)self.bind(self.path)self.buffer = 'buffer'def handle_connect(self):print 'handle_connect'passdef handle_close(self):print 'handle_close'if os.path...

Python – 等待来自大量套接字的输入

我正在用Python进行一个简单的实验.我有一个“主”进程,负责所有其他进程,每个进程都通过unix socket连接到主进程.我希望主进程能够监视所有套接字的响应 – 但理论上可能有近百个.线程如何影响应用程序的内存和性能?什么是最好的解决方案?非常感谢!解决方法:一百个同步线程可能会推动线程的合理限制.如果您发现这是组织代码的最简洁方法,我会说尝试一下,但线程确实不能扩展到很远. 更好的方法是使用像select这样的技术来等待其...

Python套接字超时错误【代码】

我在Python 2.7中编写了一个非常简单的udp套接字连接 服务器端已启动并正在运行.我在客户端遇到麻烦.from socket import *serverName = '127.0.0.1' serverPort = 5444 counter = 1;while counter < 55:mySocket = socket(AF_INET,SOCK_DGRAM)try:mySocket.settimeout(1.0)message = raw_input('')mySocket.sendto(message,(serverName, serverPort))modifiedMessage, serverAddress = mySocket.recvfrom(1024)except mySocket.tim...

如何向客户端发送服务器响应? (Python套接字)【代码】

我在python 2.7中使用套接字模块创建了客户端和服务器代码.问题是我不知道/无法发送服务器响应.这是我的客户端代码:import socket from optparse import OptionParserdef main():sock = Noneparser = OptionParser()parser.add_option("-z", action="store", dest="data")options, args = parser.parse_args()try:print "Creating socket"sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)print "Connecting to localhos...

使用Python打开外部计算机的套接字【代码】

我使用以下代码在我的计算机上打开一个套接字.当我在计算机上转到my_ip:5000时,程序会响应.但是,当我使用另一台计算机时,没有任何反应.HOST = 'my_ip' # Symbolic name meaning the local host PORT = 8000 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(1) conn, addr = s.accept() print 'Connected by', addr while 1:...

Python TCP套接字没有关闭?【代码】

也许这里有人会对这件事做出回应,这只会让我疯狂. 为了简单起见,我正在做一种代理.只要它收到某些东西,它就会将所有内容转发给服务器,然后发回响应.因此,有一个套接字始终在端口4557上侦听客户端,并且对于每个传入连接,在随机端口上创建一个新套接字以连接到服务器端口4556. 客户< ==>代理< ==>服务器 此外,还有另一个套接字,它被实例化并监听来自服务器的请求并转发到相应的客户端. 这是一个例子: >客户端A连接到端口4557上的代理...

使用python twisted框架连接到多个串行套接字【代码】

我目前使用twisted来连接到我拥有的串行设备,使用如下代码.from twisted.internet import reactor SerialPort(Handler(), "/dev/ttyACM1", reactor, baudrate='9600') reactor.run()但是,我知道需要扩展应用程序以监视添加(和删除)的新串行设备.我目前使用pyinotify来寻找添加/删除的新设备,这看起来效果很好.class EventHandler(pyinotify.ProcessEvent):def process_IN_CREATE(self, event):... connect to serial device...目前...

无法通过Python中的套接字进行客户端 – 服务器通信【代码】

在过去的两周里,我一直在反对插座问题,但无济于事.我有一个12’客户端’机器和一台服务器机器的设置.服务器被赋予了大量任务,将其分成12个较小的任务,然后将它们分发给12个客户端.客户流失,一旦完成任务,他们应该让服务器知道他们已经通过套接字通信完成了.出于某种原因,这只是一点点工作或根本不工作(服务器和客户端,只是坐在while循环中). 这是服务器上的代码:socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock...

PHP套接字或Python,Perl,Bash套接字?

我正在尝试实现一个将在大多数共享PHP主机中运行的套接字服务器. 要求是可以自动安装,启动和停止Socket服务器,而无需用户执行任何操作.套接字服务器编写的语言并不重要,只要它将在全局的大多数共享主机上运行. 目前,我已经编写了一个带有PHP的Socket服务器,它实现了一个对象缓存:http://code.google.com/p/php-object-cache/ 来源:http://code.google.com/p/php-object-cache/source/browse/trunk/socket.class.php 但是,必须使用...

在python 2.6中关闭套接字的正确方法是什么?【代码】

我有一个简单的服务器/客户端.我使用netcat作为客户端来测试服务器.如果我在客户端退出之前停止服务器,我将无法再启动服务器一段时间,我发现此错误:“[Errno 98]地址已被使用“ 但如果我先关闭客户端,然后服务器停止,我将不会有这个问题. 我的服务器套接字如下:try:s=sockets.bind(..)s.listen(1)conn,addr=s.accept() finally:conn.close()s.close()我觉得服务器没有正确关闭套接字.但我不知道如何解决这个问题.解决方法:你关闭...

用于存储套接字对象的Python字典【代码】

我们可以将套接字对象存储在Python字典中.我想创建一个套接字,存储套接字对象,做一些东西,然后从套接字读取(从字典搜索获取socketobject).解决方法:是:>>> import socket >>> s = socket.socket() >>> d = {"key" : s} >>> d {'key': <socket._socketobject object at 0x00CEB5A8>}