欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python網(wǎng)絡編程之TCP與UDP協(xié)議套接字用法示例

 更新時間:2018年02月02日 10:46:16   作者:畢加索的ma  
這篇文章主要介紹了Python網(wǎng)絡編程之TCP與UDP協(xié)議套接字用法,結(jié)合實例形式較為詳細的分析了Python網(wǎng)絡編程中TCP與UDP協(xié)議客戶端、服務器端相關實現(xiàn)及使用技巧,需要的朋友可以參考下

本文實例講述了Python網(wǎng)絡編程之TCP與UDP協(xié)議套接字用法。分享給大家供大家參考,具體如下:

TCP協(xié)議

服務器端:

#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM) ##創(chuàng)建服務器TCP套接字
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
  print 'waiting for connection...'
  tcpCliSock, addr = tcpSerSock.accept() ##等待客戶端連接
  print '...connected from:', addr
  while True:
    data = tcpCliSock.recv(BUFSIZ) ##監(jiān)聽客戶端是否發(fā)送消息
    if not data:
      break
    tcpCliSock.send('[%s] %s' % (
      ctime(), data))
  tcpCliSock.close()
tcpSerSock.close()

客戶端:

#!/usr/bin/env python
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)  ##創(chuàng)建客戶端TCP套接字
tcpCliSock.connect(ADDR) ##連接服務器
while True:
  data = raw_input('> ')
  if not data:
    break
  tcpCliSock.send(data)
  data = tcpCliSock.recv(BUFSIZ) ##監(jiān)聽客戶端發(fā)送消息
  if not data:
    break
  print data
tcpCliSock.close()

UDP協(xié)議

服務器端:

#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpSerSock = socket(AF_INET, SOCK_DGRAM)
udpSerSock.bind(ADDR)
while True:
  print 'waiting for message...'
  data, addr = udpSerSock.recvfrom(BUFSIZ)##監(jiān)聽并接受客戶端發(fā)的消息
  udpSerSock.sendto('[%s] %s' % (  ##給消息加上時間戳并返回給客戶端
    ctime(), data), addr)
  print '...received from and returned to:', addr
udpSerSock.close()

客戶端:

#!/usr/bin/env python
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpCliSock = socket(AF_INET, SOCK_DGRAM)
while True:
  data = raw_input('> ')
  if not data:
    break
  udpCliSock.sendto(data, ADDR) ##給服務器發(fā)送數(shù)據(jù)
  data, ADDR = udpCliSock.recvfrom(BUFSIZ) ##客戶端接受帶時間戳的數(shù)據(jù)
  if not data:
    break
  print data
udpCliSock.close()

更多關于Python相關內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

最新評論