最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 網(wǎng)絡(luò)編程常用代碼段

 更新時(shí)間:2016年08月28日 18:37:11   投稿:mdxy-dxy  
這篇文章主要介紹了python 網(wǎng)絡(luò)編程常用代碼段,需要的朋友可以參考下

服務(wù)器端代碼:

# -*- coding: cp936 -*-
import socket 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#初始化socket 
sock.bind(("127.0.0.1", 8001))#綁定本機(jī)地址,8001端口
sock.listen(5)#等待客戶連接 
while True:
  print "waiting client connection..."
  connection,address = sock.accept()#接收客戶連接請(qǐng)求
  print "a client have connected..."
  while True:
    try: 
      connection.settimeout(5) #設(shè)置超時(shí)時(shí)間
      buf = connection.recv(1024) #接收數(shù)據(jù)
      if buf == "1": 
        connection.send("you have send me 1!welcome to server!")
      elif buf=="2":
        connection.send("you have send me 2!I have recv!")
      elif buf=="3":
        connection.send("close the connection!")
        break
      else: 
        connection.send("unknow command!") 
    except socket.timeout: 
      print "time out" 
  connection.close()
  print "a client exit..."

客戶器端代碼:

import socket 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.connect(("127.0.0.1", 8001)) 
import time 
time.sleep(2)
while True:
  data=raw_input("input command:");
  sock.send(data)
  print sock.recv(1024)
  if data=="3":
    break
sock.close()

1.首先開兩個(gè)IDLE,分別打開服務(wù)器端和客戶器端代碼。
2.F5運(yùn)行服務(wù)器端代碼,會(huì)出現(xiàn)waiting client connection...
3.F5運(yùn)行客戶端代碼,會(huì)出現(xiàn)input command: ;
4.這時(shí)服務(wù)器和客戶端就連接上了,可以正常的通信啦,如圖:

5.再次運(yùn)行服務(wù)器端代碼時(shí)會(huì)出現(xiàn)錯(cuò)誤,這時(shí)可以通過(guò)任務(wù)管理器,將其中的pythonw.exe進(jìn)程結(jié)束,重新打開,編譯就可以啦!

客戶端:

import socket
s=socket.socket()
host = socket.gethostname()
port = 1234
s.connect((host, port))
print s.recv(1024)

服務(wù)端:

import socket
s = socket.socket()
host = socket.gethostname()
port = 1234
s.bind((host, port))
 
s.listen(5)
while True:
 c, addr = s.accept()
 print 'Got connection from', addr
 c.send('Thank you for connecting')
 c.close()

http編程

from urllib import urlopen
webpage = urlopen('http://www.python.org')

加上正規(guī)表達(dá)式

import re
text = webpage.read()
m = re.search('<a href="([^"]+)" .*?>about</a>', text, re.IGNORECASE)
m.group(1)

urllib
urllib2

一個(gè)基于SocketServer的小型服務(wù)器例子:

from SocketServer import TCPServer, StreamRequestHandler
>>> class Handler(StreamRequestHandler):
	def handle(self):
		addr = self.request.getpeername()
		print 'Got connection from', addr
		self.wfile.write('Thank you for connecting')
 
>>> server = TCPServer(('',1234), Handler)
>>> server.serve_forever()

使用SocketServer進(jìn)行分叉和線程處理
分叉Server:

from SocketServer import TCPServer,ForkingMinIn, StreamRequestHandler
class Server(ForkingMinIn, TCPServer):pass
class Handler(StreamRequestHandler):
 def handle(self):
  addr = self.request.getpeername()
  print 'Got connection from',addr
  self.wfile.write('Thank you for connection')
server = Server(('',1234),Handler)
server.serve_forever()

線程Server:

from SocketServer import TCPServer, ThreadingMixIn, StreamRequestHandler
class Server(ThreadingMixIn, TCPServer):pass
class Handler(StreamRequestHandler):
 def handle(self):
  addr = self.request.getpeername()
  print 'Got connection from',addr
  self.wfile.write('Thank you for connecting')
server = Server(('',1234),Handler)
server.serve_forever()

帶有select和pool的異步I/O
select服務(wù):

import socket, select
s = socket.socket()
host = socket.gethostname()
prot = 1234
s.bind((host,port))
 
s.listen(5)
inputs = [s]
while True:
 rs,ws,es = select.select(inputs,[],[])
 for r in rs:
  if r is s:
  c, addr = s.accept()
  print 'Got connection from',addr
  inputs.append(c)
 else:
  try:
   data = r.recv(1024)
   disconnected = not data
  except socket.error:
   disconnected = True
   
  if disconnected:
   print r.getpeername(), 'disconnected'
   inputs.remove(r)
  else:
   print data

pool服務(wù)器:

import socket, select
s = socket.socket()
host = socket.gethostname()
port = 1234
s.bind((host, port))
 
fdmap = {s.fileno():s}
 
s.listen(5)
p = select.poll()
p.register(s)
while True:
 events = p.poll()
 for fd, event in events:
  if fd in fdmap:
   c, addr = s.accept()
   print 'Got connection from', addr
   p.register(c)
   fdmap[c.fileno()]=c
  elif event & select.POLLIN:
   data = fdmap[fd].recv(1024)
   if not data:
    print fdmap[fd].getpeername(),'disconnected'
    p.unregister(fd)
    del fdmap[fd]
  else:
   print data

Twisted網(wǎng)絡(luò)框架

http://m.fzitv.net/article/64199.htm

相關(guān)文章

  • python中reader的next用法

    python中reader的next用法

    這篇文章主要介紹了python中reader的next用法,分別介紹了python3中的用法和python2中的用法,具體實(shí)例代碼大家參考下本文
    2018-07-07
  • Python處理字符串中文(漢字)編碼的實(shí)例

    Python處理字符串中文(漢字)編碼的實(shí)例

    這篇文章主要介紹了Python處理字符串中文(漢字)編碼的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • python?playwright?庫(kù)上傳和下載操作(自動(dòng)化測(cè)試?playwright)

    python?playwright?庫(kù)上傳和下載操作(自動(dòng)化測(cè)試?playwright)

    這篇文章主要介紹了python?playwright?庫(kù)上傳和下載操作(自動(dòng)化測(cè)試?playwright?),playwright中的上傳和下載比selenium的上傳和下載要簡(jiǎn)便些,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Python自制一個(gè)PDF轉(zhuǎn)PNG圖片小工具

    Python自制一個(gè)PDF轉(zhuǎn)PNG圖片小工具

    這篇文章主要為大家詳細(xì)介紹了如何利用Python中的PyQt5自制一個(gè)PDF轉(zhuǎn)PNG格式圖片的小工具,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-02-02
  • Python3使用PyQt5制作簡(jiǎn)單的畫板/手寫板實(shí)例

    Python3使用PyQt5制作簡(jiǎn)單的畫板/手寫板實(shí)例

    下面小編就為大家?guī)?lái)一篇Python3使用PyQt5制作簡(jiǎn)單的畫板/手寫板實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • python Pandas 讀取txt表格的實(shí)例

    python Pandas 讀取txt表格的實(shí)例

    下面小編就為大家分享一篇python Pandas 讀取txt表格的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 利用Python實(shí)現(xiàn)多種風(fēng)格的照片處理

    利用Python實(shí)現(xiàn)多種風(fēng)格的照片處理

    這篇文章主要為大家詳細(xì)介紹了如何利用Python一鍵實(shí)現(xiàn)多種風(fēng)格的照片處理并制作可視化GUI界面,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-07-07
  • pampy超強(qiáng)的模式匹配工具的實(shí)現(xiàn)

    pampy超強(qiáng)的模式匹配工具的實(shí)現(xiàn)

    在自然語(yǔ)言處理界,模式匹配可以說(shuō)是最常用的技術(shù)。甚至可以說(shuō),將NLP技術(shù)作為真實(shí)生產(chǎn)力的項(xiàng)目都少不了模式匹配。本文就介紹了pampy超強(qiáng)的模式匹配工具的實(shí)現(xiàn),感興趣的可以了解一下
    2021-07-07
  • 使用Python操作Jenkins的過(guò)程詳解

    使用Python操作Jenkins的過(guò)程詳解

    借助于Python中的python-jenkins模塊,我們可以輕松地編寫腳本來(lái)連接到Jenkins服務(wù)器,并執(zhí)行各種操作,如創(chuàng)建、刪除、構(gòu)建Jobs等,這種自動(dòng)化的方式不僅提高了效率,還使得CI/CD流程更加靈活和可控,本文介紹如何使用Python操作Jenkins的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Python logging模塊寫入中文出現(xiàn)亂碼

    Python logging模塊寫入中文出現(xiàn)亂碼

    這篇文章主要介紹了Python logging模塊寫入中文出現(xiàn)亂碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

甘肃省| 阜平县| 保山市| 阿克| 囊谦县| 专栏| 洛隆县| 喀喇| 郴州市| 文山县| 宜宾县| 雷州市| 本溪市| 塔河县| 蒙自县| 浮山县| 招远市| 林甸县| 英德市| 康保县| 平原县| 临夏市| 长宁县| 天峻县| 澄城县| 颍上县| 五大连池市| 安吉县| 建德市| 苍南县| 连江县| 巨鹿县| 同心县| 长海县| 芒康县| 古丈县| 青铜峡市| 安岳县| 河东区| 武陟县| 屯门区|