激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python使用socket創(chuàng)建tcp服務(wù)器和客戶端

python使用socket創(chuàng)建tcp服務(wù)器和客戶端

2021-01-31 00:03欒鵬 Python

這篇文章主要為大家詳細(xì)介紹了python使用socket創(chuàng)建tcp服務(wù)器和客戶端,具有一定的參考價值,感興趣的小伙伴們可以參考一下

python使用socket創(chuàng)建tcp服務(wù)器客戶端。

服務(wù)器端為一個時間戳服務(wù)器,在接收到客戶端發(fā)來的數(shù)據(jù)后,自動回復(fù)。

客戶端,等待用戶輸入,回車后向服務(wù)器發(fā)送用戶輸入的內(nèi)容。

分別在python2.7和python3.6下測試。在啟動時需要先啟動服務(wù)器端,在啟動客戶端。

python2.7下

服務(wù)器端代碼為

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#coding:utf-8
 
from socket import *
from time import ctime
 
print("=====================時間戳TCP服務(wù)器=====================");
 
HOST = '' #主機(jī)號為空白表示可以使用任何可用的地址。
PORT = 21567 #端口號
BUFSIZ = 1024 #接收數(shù)據(jù)緩沖大小
ADDR = (HOST, PORT)
 
tcpSerSock = socket(AF_INET, SOCK_STREAM) #創(chuàng)建TCP服務(wù)器套接字
tcpSerSock.bind(ADDR) #套接字與地址綁定
tcpSerSock.listen(5) #監(jiān)聽連接,同時連接請求的最大數(shù)目
 
while True:
  print('等待客戶端的連接...')
  tcpCliSock, addr = tcpSerSock.accept()  #接收客戶端連接請求
  print('取得連接:', addr)
 
  while True:
    data = tcpCliSock.recv(BUFSIZ) #連續(xù)接收指定字節(jié)的數(shù)據(jù),接收到的是字節(jié)數(shù)組
    if not data: #如果數(shù)據(jù)空白,則表示客戶端退出,所以退出接收
      break
    tcpCliSock.send('[%s] %s' % (ctime(), data)) #向客戶端發(fā)送時間戳數(shù)據(jù)
 
  tcpCliSock.close() #關(guān)閉與客戶端的連接
tcpSerSock.close() #關(guān)閉服務(wù)器socket

客戶端代碼為

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#coding:utf-8
 
from socket import *
 
print("=====================TCP客戶端=====================");
 
HOST = '127.0.0.1' #服務(wù)器ip地址,等價于localhost
PORT = 21567 #通信端口號
BUFSIZ = 1024 #接收數(shù)據(jù)緩沖大小
ADDR = (HOST, PORT)
 
tcpCliSock = socket(AF_INET, SOCK_STREAM) #創(chuàng)建客戶端套接字
tcpCliSock.connect(ADDR) #發(fā)起TCP連接
 
while True:
  data = raw_input('> '#接收用戶輸入
  if not data: #如果用戶輸入為空,直接回車就會發(fā)送"",""就是代表false
    break
  tcpCliSock.send(data)  #客戶端發(fā)送消息
  data = tcpCliSock.recv(BUFSIZ)  #接收回應(yīng)消息,接收到的是字節(jié)數(shù)組
  if not data:  #如果接收服務(wù)器信息失敗,或沒有消息回應(yīng)
    break
  print(data) #打印回應(yīng)消息
 
tcpCliSock.close() #關(guān)閉客戶端socket

python3.6下

服務(wù)器端代碼為

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#coding:utf-8
 
from socket import *
from time import ctime
 
print("=====================時間戳TCP服務(wù)器=====================");
 
HOST = '127.0.0.1' #主機(jī)號為空白表示可以使用任何可用的地址。
PORT = 21567 #端口號
BUFSIZ = 1024 #接收數(shù)據(jù)緩沖大小
ADDR = (HOST, PORT)
 
tcpSerSock = socket(AF_INET, SOCK_STREAM) #創(chuàng)建TCP服務(wù)器套接字
tcpSerSock.bind(ADDR) #套接字與地址綁定
tcpSerSock.listen(5) #監(jiān)聽連接,同時連接請求的最大數(shù)目
 
while True:
  print('等待客戶端的連接...')
  tcpCliSock, addr = tcpSerSock.accept()  #接收客戶端連接請求
  print('取得連接:', addr)
 
  while True:
    data = tcpCliSock.recv(BUFSIZ) #連續(xù)接收指定字節(jié)的數(shù)據(jù),接收到的是字節(jié)數(shù)組
    if not data: #如果數(shù)據(jù)空白,則表示客戶端退出,所以退出接收
      break
    #tcpCliSock.send('[%s] %s' % (bytes(ctime(), 'utf-8'), data))
    tcpCliSock.send(bytes('[%s] %s' % (ctime(), data.decode('utf-8')), 'utf-8')) #向客戶端發(fā)送時間戳數(shù)據(jù),必須發(fā)送字節(jié)數(shù)組
 
  tcpCliSock.close() #關(guān)閉與客戶端的連接
tcpSerSock.close() #關(guān)閉服務(wù)器socket

客戶端代碼為

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#coding:utf-8
 
from socket import *
 
print("=====================TCP客戶端=====================");
 
HOST = '127.0.0.1' #服務(wù)器ip地址,等價于localhost
PORT = 21567 #通信端口號
BUFSIZ = 1024 #接收數(shù)據(jù)緩沖大小
ADDR = (HOST, PORT)
 
tcpCliSock = socket(AF_INET, SOCK_STREAM) #創(chuàng)建客戶端套接字
tcpCliSock.connect(ADDR) #發(fā)起TCP連接
 
while True:
  data = input('> '#接收用戶輸入
  if not data: #如果用戶輸入為空,直接回車就會發(fā)送"",""就是代表false
    break
  tcpCliSock.send(bytes(data, 'utf-8'))  #客戶端發(fā)送消息,必須發(fā)送字節(jié)數(shù)組
  data = tcpCliSock.recv(BUFSIZ)  #接收回應(yīng)消息,接收到的是字節(jié)數(shù)組
  if not data:  #如果接收服務(wù)器信息失敗,或沒有消息回應(yīng)
    break
  print(data.decode('utf-8')) #打印回應(yīng)消息,或者str(data,"utf-8")
 
tcpCliSock.close() #關(guān)閉客戶端socket

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/luanpeng825485697/article/details/78374372

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 久成人| 欧美一区二区三区久久综合 | 日韩在线欧美在线 | 草草视频在线 | 91久久极品少妇韩国 | 欧美性精品videofree | 国产精品一区二区羞羞答答 | 毛片在线免费播放 | 亚洲性夜色噜噜噜7777 | 国产一级www| 久久久久久久久久一本门道91 | 精品一区二区三区电影 | omofun 动漫在线观看 | 成人区一区二区三区 | 97超视频在线观看 | 精品国产99久久久久久宅男i | av在线网站观看 | 国产流白浆高潮在线观看 | av免费av| 日韩av手机在线免费观看 | 久久久久se| 九九热在线视频观看这里只有精品 | 久久久中文 | 午夜精品久久久久久毛片 | 一级在线视频 | 欧美日韩免费一区二区三区 | 狠狠色噜噜狠狠狠米奇9999 | 国色天香综合网 | 国产精品亚洲yourport | 色的综合| 一本到免费视频 | 国产高清自拍一区 | www.91sp| 精品99在线视频 | 亚洲精品成人18久久久久 | 国产精品高潮99久久久久久久 | 欧美性猛交xxx乱大交3蜜桃 | 国产精品久久久久永久免费 | 爱福利视频 | 成人毛片在线播放 | 素人视频在线观看免费 |