⑴ 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."