91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python使用socket創建tcp服務器和客戶端

發布時間:2020-09-11 21:48:36 來源:腳本之家 閱讀:127 作者:欒鵬 欄目:開發技術

python使用socket創建tcp服務器和客戶端。

服務器端為一個時間戳服務器,在接收到客戶端發來的數據后,自動回復。

客戶端,等待用戶輸入,回車后向服務器發送用戶輸入的內容。

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

python2.7下

服務器端代碼為

#coding:utf-8

from socket import *
from time import ctime

print("=====================時間戳TCP服務器=====================");

HOST = '' #主機號為空白表示可以使用任何可用的地址。
PORT = 21567 #端口號
BUFSIZ = 1024 #接收數據緩沖大小
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM) #創建TCP服務器套接字
tcpSerSock.bind(ADDR) #套接字與地址綁定
tcpSerSock.listen(5) #監聽連接,同時連接請求的最大數目

while True:
  print('等待客戶端的連接...')
  tcpCliSock, addr = tcpSerSock.accept()  #接收客戶端連接請求
  print('取得連接:', addr)

  while True:
    data = tcpCliSock.recv(BUFSIZ) #連續接收指定字節的數據,接收到的是字節數組
    if not data: #如果數據空白,則表示客戶端退出,所以退出接收
      break
    tcpCliSock.send('[%s] %s' % (ctime(), data)) #向客戶端發送時間戳數據

  tcpCliSock.close() #關閉與客戶端的連接
tcpSerSock.close() #關閉服務器socket

客戶端代碼為

#coding:utf-8

from socket import *

print("=====================TCP客戶端=====================");

HOST = '127.0.0.1' #服務器ip地址,等價于localhost
PORT = 21567 #通信端口號
BUFSIZ = 1024 #接收數據緩沖大小
ADDR = (HOST, PORT)

tcpCliSock = socket(AF_INET, SOCK_STREAM) #創建客戶端套接字
tcpCliSock.connect(ADDR) #發起TCP連接

while True:
  data = raw_input('> ')  #接收用戶輸入
  if not data: #如果用戶輸入為空,直接回車就會發送"",""就是代表false
    break
  tcpCliSock.send(data)  #客戶端發送消息
  data = tcpCliSock.recv(BUFSIZ)  #接收回應消息,接收到的是字節數組
  if not data:  #如果接收服務器信息失敗,或沒有消息回應
    break
  print(data) #打印回應消息

tcpCliSock.close() #關閉客戶端socket

python3.6下

服務器端代碼為

#coding:utf-8

from socket import *
from time import ctime

print("=====================時間戳TCP服務器=====================");

HOST = '127.0.0.1' #主機號為空白表示可以使用任何可用的地址。
PORT = 21567 #端口號
BUFSIZ = 1024 #接收數據緩沖大小
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM) #創建TCP服務器套接字
tcpSerSock.bind(ADDR) #套接字與地址綁定
tcpSerSock.listen(5) #監聽連接,同時連接請求的最大數目

while True:
  print('等待客戶端的連接...')
  tcpCliSock, addr = tcpSerSock.accept()  #接收客戶端連接請求
  print('取得連接:', addr)

  while True:
    data = tcpCliSock.recv(BUFSIZ) #連續接收指定字節的數據,接收到的是字節數組
    if not data: #如果數據空白,則表示客戶端退出,所以退出接收
      break
    #tcpCliSock.send('[%s] %s' % (bytes(ctime(), 'utf-8'), data))
    tcpCliSock.send(bytes('[%s] %s' % (ctime(), data.decode('utf-8')), 'utf-8')) #向客戶端發送時間戳數據,必須發送字節數組

  tcpCliSock.close() #關閉與客戶端的連接
tcpSerSock.close() #關閉服務器socket

客戶端代碼為

#coding:utf-8

from socket import *

print("=====================TCP客戶端=====================");

HOST = '127.0.0.1' #服務器ip地址,等價于localhost
PORT = 21567 #通信端口號
BUFSIZ = 1024 #接收數據緩沖大小
ADDR = (HOST, PORT)

tcpCliSock = socket(AF_INET, SOCK_STREAM) #創建客戶端套接字
tcpCliSock.connect(ADDR) #發起TCP連接

while True:
  data = input('> ')  #接收用戶輸入
  if not data: #如果用戶輸入為空,直接回車就會發送"",""就是代表false
    break
  tcpCliSock.send(bytes(data, 'utf-8'))  #客戶端發送消息,必須發送字節數組
  data = tcpCliSock.recv(BUFSIZ)  #接收回應消息,接收到的是字節數組
  if not data:  #如果接收服務器信息失敗,或沒有消息回應
    break
  print(data.decode('utf-8')) #打印回應消息,或者str(data,"utf-8")

tcpCliSock.close() #關閉客戶端socket

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

威海市| 大城县| 双牌县| 巩义市| 横峰县| 禄劝| 手机| 土默特左旗| 三明市| 罗定市| 永州市| 三门县| 新民市| 依兰县| 宜川县| 石台县| 高碑店市| 和政县| 保康县| 兴城市| 县级市| 醴陵市| 阿瓦提县| 普定县| SHOW| 瑞安市| 梁山县| 崇州市| 肃南| 城步| 浦城县| 武城县| 天等县| 互助| 藁城市| 炉霍县| 永和县| 夏邑县| 韶关市| 静宁县| 扶绥县|