python網路連線之tcp通訊

2022-05-26 03:12:09 字數 2052 閱讀 6954

#encoding=utf-8

# 建立乙個 tcp 伺服器程式,這個程式會把客戶傳送過來的字

# 符串加上乙個時間戳(格式:'[時間]資料')返回給客戶。

from socket import *

from time import ctime

host = ''

port = 21567

bufsiz = 1024

addr = (host,port)

# ss = socket() # 建立伺服器套接字

# ss.bind() # 把位址繫結到套接字上

# ss.listen() # 監聽連線

# inf_loop: # 伺服器無限迴圈

# cs = ss.accept() # 接受客戶的連線

# comm_loop: # 通訊迴圈

# cs.recv()/cs.send() # 對話(接收與傳送)

# cs.close() # 關閉客戶套接字

# ss.close() # 關閉伺服器套接字(可選)

#建立tcp套接字,繫結,監聽

tcpserversock = socket(af_inet,sock_stream)#建立tcp socket

#af_inet 伺服器之間網路通訊

#socket.sock_stream 流式socket , for tcp

tcpserversock.bind(addr)#將套接字繫結到位址,

#在af_inet下,以元組(host,port)的形式表示位址.

tcpserversock.listen(5)#作業系統可以掛起的最大連線數量,至少為1,大部分為5

while true:

print 'waiting for connection'

tcpclientsock, addr2 = tcpserversock.accept() #接受客戶的連線

#接受tcp連線並返回(conn,address),其中conn是新的套接字物件,

#可以用來接收和傳送資料。

#address是連線客戶端的位址。

print 'connected from :',addr2

while true:

data = tcpclientsock.recv(bufsiz) #接收客戶端發來的資料

if not data:

break

tcpclientsock.send('[%s] %s' % (ctime(),data)) #返回給客戶端資料

tcpclientsock.close()

tcpserversock.close()

#encoding=utf-8

#建立tcp客戶端

# cs = socket() # 建立客戶套接字

# cs.connect(address) # 嘗試連線address處的伺服器

# comm_loop: # 通訊迴圈

# cs.send()/cs.recv() # 對話(傳送/接收)

# cs.close() # 關閉客戶套接字

from socket import *

host = 'localhost'

port = 21567

bufsize = 1024

addr = (host,port)

tcpclientsock = socket(af_inet,sock_stream)

tcpclientsock.connect(addr)#s.connect(address)

#連線到address處的套接字

while true:

data = raw_input('>')

if not data:

break

tcpclientsock.send(data) #像服務端傳送資料

data = tcpclientsock.recv(bufsize) #接收服務端返回的資料

if not data:

break

print data

tcpclientsock.close()

多執行緒和TCP網路連線

今天學習了多執行緒和tcp網路連線,彷彿開啟了一扇新的大門,很興奮。貼出部分 多執行緒 using system using system.collections.generic using system.linq using system.text using system.threading.t...

python 網路連線 python簡單網路連線

client端 import socket sk socket.socket address 172.16.10.1 3000 sk.connect address while true inp input if inp exit break sk.send bytes inp,utf8 data ...

python網路連線練習

服務端 usr bin env python3 匯入socket sys模組 import socket import sys 建立socket物件 serversocket socket.socket socket.af inet,socket.sock stream 獲取本地主機名 host s...