udp:
修改:2018-03-20 :重置了布局,增加了udp
socket又稱"套接字",應用程式通常通過"套接字"向網路發出請求或者應答網路請求。
網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端稱為乙個socket。
socket就像**線插口,只有**線插上了,才能通訊。
python中使用socket來進行網路連線傳輸
tcp服務端一般需要下面幾個操作:建立,繫結ip位址和埠,監聽埠,等待連線,接收資料,傳輸資料 ,關閉連線
importsocket
server=socket.socket()#
建立socket
server.bind((
'localhost
',1234))#
繫結server.listen()#
監聽print("
開始等待。。。")
conn,addr=server.accept()#
接收連線
print("
連線成功")
data=conn.recv(1024)#
接收資料
(data.decode())
conn.send(data)
#傳送資料
server.close()
#關閉連線
print("
--------------------
")
#伺服器端
import
socket
server =socket.socket()
server.bind((
'localhost
',1234)) #
繫結ip和埠
server.listen(5) #
監聽while
true:
print("
開始等待")
conn, addr =server.accept()
(conn, addr)
print("
客戶端連線")
while
true:
data = conn.recv(1024)
print("
recv:
",data)
ifnot data: #
當data=0時為真
print("
連線斷開...")
break
conn.send(data)
server.close()
注:上述**中在linux中正常執行,在windows中會報錯!
如果要在windows中執行,需要捕獲異常:
#伺服器端
import
socket
server =socket.socket()
server.bind((
'localhost
',1234)) #
繫結ip和埠
server.listen(5) #
監聽while
true:
print("
開始等待")
conn, addr =server.accept()
(conn, addr)
print("
客戶端連線")
while
true:
try:
data = conn.recv(1024)
print("
recv:
",data)
ifnot data: #
當data=0時為真
print("
連線斷開...")
break
conn.send(data)
except
connectionreseterror as e:
(e)
break
server.close()
tcp客戶端一般需要下面幾個操作:建立socket,連線遠端socket,傳輸資料 ,接收資料,關閉連線
importsocket
client=socket.socket()#
建立socket
client.connect(('
localhost
',1234))#
連線client.send("
你好".encode())#
傳送資料
data=client.recv(1024)#
接收資料
(data.decode())
client.close()
#關閉連線
importsocket
client=socket.socket()
client.connect((
'localhost
',1234))
while
true:
cmd=input("
>>")
if len(cmd)==0:
continue
client.send(cmd.encode())
cmd_res=client.recv(1024)
(cmd_res.decode())
client.close()
udp服務端通常有以下幾個操作:建立socket,繫結埠,傳輸資料,接收資料
importsocket
import
time
server=socket.socket(socket.af_inet,socket.sock_dgram)
server.bind((
"localhost
",1234))
start_time=time.time()
while
true:
data,addr=server.recvfrom(1024)
(data,addr)
server.sendto(
"hello
".encode(),addr)
time.sleep(1)
if time.time()-start_time>30:
break
server.close()
udp客戶端通常有以下幾個操作:建立socket,傳輸資料,接收資料
importsocket,time
client=socket.socket(socket.af_inet,socket.sock_dgram)
addr=("
localhost
",1234)
start_time=time.time()
while
true:
client.sendto(time.ctime().encode(),addr)
data,addr= client.recvfrom(1024)
(data)
time.sleep(1)
if time.time()-start_time>30:
break
client.close()
python 網路程式設計學習 套接字socket
以前也學過套接字程式設計,這次想系統全面的學習下python網路程式設計的使用。做這個,為檢測進度,也為後續留下筆記和足跡。socket 常用函式 socket.gethostname socket.gethostbyname import socket host socket.gethostnam...
Python網路程式設計學習筆記一 socket模組
coding utf 8 主要測試python網路程式設計中socket模組的使用 涉及到的技術點 套接字 面向連線的還有非面向連線套接字 tcp面向連線 udp非面向連線 1 匯入socket 2 建立socket socket三要素 1 socket family,2 socket type 3...
python網路程式設計 TCP網路程式設計
tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...