⑴ python 如何建立socket长连接
#coding=gbk
'''''
socket 给网络发送http请求
连接成功后,发送http的get请求,所搜索功能
'''
import socket
import sys
import time
if __name__=='__main__':
#创建套接字
try :
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.eorror,e:
print 'socket false:%s'%e
print 'socket ...'
#连接网络ip
try :
sock.connect(('220.181.111.148',80))
except socket.error,e:
print 'connect false %s'%e
sock.close()
print 'connect ...'
#发送网络首页面请求并且保持连接
try :
print 'send start...'
str='GET / HTTP/1.1\r\nHost:www..com\r\nConnection:keep-alive\r\n\r\n'
sock.send(str)
except socket.eorror,e:
print 'send false'
sock.close()
data=''
data = sock.recv(1024)
while (1): '''''如何判断数据接收完毕,在发送http 最前端,
包含发送数据文件大小属性Content-Length,
用字符匹配方式取得文件大小,
同过大小判断是否接收完毕。
'''
print data
beg = data.find('Content-Length:',0,len(data))
end = data.find('Content-Type:',0,len(data))
print beg
print end
if(beg == end):
print 'connecting closed'
break
num = long(data[beg+16:end-2])
print num
nums = 0
while (1):
data=sock.recv(1024)
print data
nums +=len(data)
if(nums >= num):
break
word = raw_input('please input your word----->')
str='''''GET /s?wd=''' + word + ''''' HTTP/1.1
Host:www..com
Connection: Keep-Alive
'''
print str
sock.send(str)
data = ''
data = sock.recv(1024)
sock.close()
print data
⑵ python socket 地址重用的问题
我想你客户端和 服务端的代码写错文件了吧。
另外还要排除一个问题键脊让:野橡
确定你在执行第二步骤的时候,第一个步稿局骤占用的端口6000已经释放掉了。
一般服务是要先跑的。由服务端来监听端口,等待客户端连接。
⑶ python socket 重复使用IP
ip被占用。
socket只能绑定一个端口和IP,但是如果一个是TCP,一个是UDP则是可以的,按照你的意思,应该都是游扰同一个协议,因此你的第二个绑定肯定是失败的。
第一个是Socket,它提供了标准的BSDSocketsAPI第二个是SocketServer,它提供了服务器中神闭旦心类,态贺可以简化网络服务器的开发。
⑷ python socket客户端如何重复访问server
1. 客户端既搭穗然是浏览器,那server端应该用webserver,而不是一般的TCP socket server。 2. socket.io是要用websocket配吵册合的。所以server端也得用websocket server。 3. 支持websocket的web框架有:tornado。可以试升枝宏试用这个框架。
⑸ python socket连接局域网出现问题
这个一般都是手机权限问题造成的对资源的访问限制,因为我这里没有你的环境,所以无法调试,不过你可以按照下面的步骤测试一下:
在手机上启动服务端,使用ssh连接到手机查看端口是否启动成功
电脑的程序启动,连接手机端口,在手机上查看连接状态
一般问题就出在这两步。
如果解决了您的问题请采纳!
如果未解决请继续追问
⑹ python socket客户端怎么实现断线重连 求代码示范 谢谢
断线重连不是问题,问题是如何判断断线。
判断断线一般通过异常处理,当然也可以傻瓜式的只要有操作就重连。
下面是一个只要没有成功连接就重连的简单实现
importsocket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
whileTrue:
try:
s.connect(('127.0.0.1',80))
break
except:
print('retry...')
continue
print('connected.')
s.close()
⑺ python socket如何连接到华为云服务器
这篇文章主要介绍了python使用socket连接远程服务器的方法,涉及Python中socket通信的基本技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了python使用socket连接远程服务器的方法。分享给大家供大家参考。具体如下:
import socket
print "Creating socket...",
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "done."
print "Looking up port number...",
port = socket.getservbyname('http', 'tcp')
print "done."
print "Connecting to remote host on port %d..." % port,
s.connect(("www.jb51.net", port))
print "done."