草庐IT

m_socket

全部标签

python - 如果 socket.setdefaulttimeout() 不起作用怎么办?

我正在编写一个脚本(多线程)来从网站检索内容,并且该网站不是很稳定,所以时不时会有挂起的http请求,甚至无法通过socket.setdefaulttimeout超时()。由于我无法控制该网站,我唯一能做的就是改进我的代码,但我现在已经没有想法了。示例代码:socket.setdefaulttimeout(150)MechBrowser=mechanize.Browser()Header={'User-Agent':'Mozilla/5.0(Windows;U;WindowsNT5.1;en-US;rv:1.9.2.8)Gecko/20100722Firefox/3.6.8GTB7.1

python - 如何在 python 中创建 IPv6 套接字?为什么得到 socket.error : (22, 'Invalid argument' )?

我想在python上创建Ipv6套接字,我是这样做的:#!/usr/bin/envpythonimportsysimportstructimportsockethost='fe80::225:b3ff:fe26:576'sa=socket.socket(socket.AF_INET6,socket.SOCK_DGRAM)sa.bind((host,50000))但是失败了:socket.error:(22,'Invalidargument')?谁能帮帮我?谢谢!我这样重做,还是不行>>>host='fe80::225:b3ff:fe26:576'>>>sa=socket.socket(

python - 使用socket编程Python发送图片

我正在尝试使用python中的套接字编程发送图像文件。我能够发送一个文本文件。但是我一直在尝试发送一个图像文件,方法是打开它并以字符串形式读取图像文件的内容,然后发送该字符串并在客户端接收它,然后将其写入一个具有相同名称的文件不同的目录,但我无法打开该文件。我也在下面发布我的代码,注释部分表明我已经尝试过了。此外,我在发送整数size时遇到问题,但我在另一端收到了一些随机字符串。这是服务器脚本importsocketserver_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server_socket.bind(("",5

python - socket.accept 错误 24 : To many open files

在Python2.6中运行服务器时,我在Ubuntu9.10下打开文件时遇到问题主要问题是,我不知道为什么会这样......我已经设置了ulimit-n=999999net.core.somaxconn=999999fs.file-max=999999当服务器运行时,lsof给我大约12000个打开的文件。而且我也在使用epoll。但一段时间后它开始给出异常(exception):文件“/usr/lib/python2.6/socket.py”,第195行,接受错误:[Errno24]打开的文件太多而且我不知道它如何在未达到文件限制时达到文件限制。感谢帮助)

python - 如果我在上一次运行退出后立即重新启动,则 socket.accept() 中的无效参数异常

我有一个用python编写的客户端服务器架构。大多数时候它工作正常,但有时,在我停止服务器并立即重新启动它之后,我收到以下错误:Acceptfaileddueto:22MessageInvalidargument,error:[Errno22]无效参数但是,如果我等待几分钟并再次启动相同的脚本而不做任何更改,它就可以正常工作。这是我在服务器上用来接受来自客户端的传入连接的循环:try:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind(('',port))s.listen(1)except:#logError()whileT

python - socket编程时如何区分tcp/udp

以下是python套接字片段:importsocketsocket.socket(socket.AF_INET,socket.SOCK_STREAM)我的问题是:是否将通过TCP/IP传输套接字连接的线路状态?到目前为止,我只使用上面的代码编写TCP连接,但我可能没有意识到这一点。我可以使用python套接字对UDP连接进行编程吗?如何区分传输层?这个问题与python没有严格的联系,也欢迎用c++或其他任何方式进行解释。 最佳答案 第二个参数决定套接字类型;socket.SOCK_DGRAM是UDP,socket.SOCK_STR

python - jupyter 抛出错误 : socket. gaierror: [Errno -2] Name or service not known

我在AWSEMR上运行一个pyspark集群,并将Jupyter用于pyspark驱动程序。最近,脚本失败了。Jupiter无法启动服务器。我使用condainstalljupyter安装并使用sudoinitctlstartjupyter启动。集群运行良好。这是服务器的配置值。#jupyterconfigsmkdir-p~/.jupytertouchls~/.jupyter/jupyter_notebook_config.pyHASHED_PASSWORD=$(python-c"fromnotebook.authimportpasswd;print(passwd('$JUPYTER_

Python/sockets/ssl EOF 发生违反协议(protocol)

我想在我的echo客户端/服务器程序中对客户端的服务器进行身份验证。我正在使用python2.7.12和ssl模块开启DistributorID:UbuntuDescription:Ubuntu14.04.5LTSRelease:14.04Codename:trusty我使用openssl命令生成了客户端和服务器的证书和key:opensslreq-new-x509-days365-nodes-outclient.pem-keyoutclient.keyopensslreq-new-x509-days365-nodes-outserver.pem-keyoutserver.keyope

python - 为什么 (Py)ZeroMQ 打开那么多 Unix socket 文件?

我试图用lsof-U|监控打开的Unixsocket文件的数量。wc-l当我执行这段代码时:>>>importzmq#1375Unixsocketfiles>>>c=zmq.Context()#1377Unixsocketfiles>>>s=c.socket(zmq.PUSH)#1383Unixsocketfiles>>>s.close()#1381Unixsocketfiles>>>c.destroy()#1375Unixsocketfiles这是为什么呢?我希望在连接套接字时打开TCP/IPC套接字文件,但在连接之前这些文件怎么办?看起来它们都是“STREAM”类型:更新请参阅@g

Python `socket.getaddrinfo` 需要 5 秒大约 0.1% 的请求

在与各种网络服务通信的Django项目上运行Python,我们遇到一个问题,即偶尔请求花费大约5秒而不是通常的我已将其缩小到socket.getaddrinfo函数所花费的时间-当我们连接到外部服务时,它被requests调用,但它也出现影响到集群中Postgres数据库框的默认Django连接。当我们在部署后重新启动uwsgi时,第一个进入的请求将需要5秒来发送响应。我还相信我们的celery任务通常需要5秒,但我还没有向它们添加statsd计时器跟踪。我已经写了一些代码来重现这个问题:importsocketimporttimeitdefsingle_dns_lookup():st