国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現簡單socket通信的方法

2020-01-04 17:31:42
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了python實現簡單socket通信的方法,結合實例形式分析了socket通信服務端與客戶端的具體實現技巧,需要的朋友可以參考下
 

本文實例講述了python實現簡單socket通信的方法。分享給大家供大家參考,具體如下:

剛剛開始接觸python,實現了一個helloworld程序---關于udp協議的socket通信demo。

首先服務端這邊的實現如下:

import socket, tracebackhost = '' # Bind to all interfaces port = 51500# Step1: 創建socket對象s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# Step2: 設置socket選項(可選)s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)# Step3: 綁定到某一個端口s.bind((host, port))# Step4: 監聽該端口上的連接while 1:  try:    message, address = s.recvfrom(8192)    print "Got data from ", address    s.sendto("Data is received succeefully.", address)  except (KeyboardInterrupt, SystemExit):    print "raise"    raise  except :    print "traceback"    traceback.print_exc()

其中,host置為空,意思是可以綁定到所有的接口和地址,無論是哪個客戶端的請求,只要是綁定到了同樣的端口,那么服務器就可以監聽到這個請求。

在tcp連接中,監聽客戶端的請求需要用到listen或accept函數,并有一個專門的socket和遠程極其連接。

接著使我們的客戶端實現:

import socket, sys# Step1: 輸入host和port信息host = raw_input('please input host name: ')textport = raw_input('please input textport: ')# Step2: 創建socket對象s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)try:  port = int(textport)except ValueError:  port = socket.getservbyname(textport, 'udp')# Step3: 打開socket連接  s.connect((host, port))# Step4: 發送數據print "Enter data to transmit: "data = sys.stdin.readline().strip()s.sendall(data)# Step5: 接收服務器發過來的數據print "Looking for replies; press Ctrl-C or Ctrl-Break to stop"while 1:  buf = s.recv(2048)  if not len(buf):    break  sys.stdout.write(buf)

這個例子就是這么簡單,實現起來和C語言版的差不多??磥?,只要是了解socket編程的,用不同的語言實現也會相差無幾。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 神木县| 遵义市| 大埔县| 广河县| 肇庆市| 萍乡市| 大姚县| 平南县| 德令哈市| 岑巩县| 和顺县| 井研县| 闸北区| 美姑县| 凌海市| 凤冈县| 子洲县| 安陆市| 渝中区| 富锦市| 日土县| 炉霍县| 宁津县| 白山市| 南康市| 固镇县| 东城区| 德兴市| 安庆市| 莱芜市| 麻栗坡县| 武汉市| 扶沟县| 宜川县| 大同市| 霍林郭勒市| 东海县| 马边| 诏安县| 岐山县| 城固县|