国产探花免费观看_亚洲丰满少妇自慰呻吟_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編程的,用不同的語言實現也會相差無幾。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三江| 福鼎市| 沂水县| 安溪县| 万安县| 宝坻区| 高雄市| 泽州县| 霍城县| 宁蒗| 三台县| 大邑县| 怀化市| 焦作市| 原平市| 油尖旺区| 元江| 东兰县| 多伦县| 雅江县| 株洲县| 溧水县| 阳信县| 宣汉县| 香港| 察雅县| 郧西县| 锦屏县| 绥德县| 临洮县| 宜良县| 天峨县| 桂阳县| 连云港市| 金坛市| 江口县| 长宁县| 吴旗县| 长岭县| 介休市| 蓝田县|