成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python socket編程

MadPecker / 1711人閱讀

摘要:提供了兩個基本的模塊,它提供了標準的。類型套接字格式使用給定的地址族套接字類型協(xié)議編號默認為來創(chuàng)建套接字。函數(shù)注意點發(fā)送數(shù)據(jù)時,已建立好連接,所以不需要指定地址。是面向無連接,每次發(fā)送要指定是發(fā)給誰。

Python 提供了兩個基本的 socket 模塊

Socket,它提供了標準的 BSD Sockets API。

SocketServer,它提供了服務器中心類,可以簡化網(wǎng)絡服務器的開發(fā)。

Socket 類型

套接字格式:
socket(family,type[,protocal]) 使用給定的地址族、套接字類型、協(xié)議編號(默認為0)來創(chuàng)建套接字。

Socket 函數(shù)

注意點:

TCP發(fā)送數(shù)據(jù)時,已建立好TCP連接,所以不需要指定地址。UDP是面向無連接,每次發(fā)送要指定是發(fā)給誰。

服務端與客戶端不能直接發(fā)送列表,元組,字典。需要字符串化repr(data)。

Socekt編程思路

TCP服務端:

創(chuàng)建套接字,綁定套接字到本地IP與端口

socket.socket(socket.AF_INET,socket.SOCK_STREAM),s.bind()

開始監(jiān)聽連接

s.listen()

進入循環(huán),不斷接受客戶端的連接請求

s.accept()

然后接收傳來的數(shù)據(jù),并發(fā)送給對方數(shù)據(jù)

s.recv() , s.sendall()

傳輸完畢后,關閉套接字

s.close()

TCP客戶端:

創(chuàng)建套接字,連接遠端地址

socket.socket(socket.AF_INET,socket.SOCK_STREAM),s.connect()

連接后發(fā)送數(shù)據(jù)和接收數(shù)據(jù)

s.sendall(), s.recv()

傳輸完畢后,關閉套接字

s.close()

服務端實例代碼
#!/usr/bin/python
import socket   # socket模塊
import commands   # 執(zhí)行系統(tǒng)命令模塊
HOST = "192.168.4.37"
PORT = 50007
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)   # 定義socket類型,網(wǎng)絡通信,TCP
s.bind((HOST,PORT))   # 套接字綁定的IP與端口
s.listen(1)         # 開始TCP監(jiān)聽
while 1:
    conn,addr=s.accept()   # 接受TCP連接,并返回新的套接字與IP地址
    print"Connected by",addr    # 輸出客戶端的IP地址
    while 1:
        data=conn.recv(1024)    # 把接收的數(shù)據(jù)實例化
        cmd_status,cmd_result = commands.getstatusoutput(data)   # commands.getstatusoutput執(zhí)行系統(tǒng)命令(即shell命令),返回兩個結果,第一個是狀態(tài),成功則為0,第二個是執(zhí)行成功或失敗的輸出信息
        if len(cmd_result.strip()) ==0:   # 如果輸出結果長度為0,則告訴客戶端完成。此用法針對于創(chuàng)建文件或目錄,創(chuàng)建成功不會有輸出信息
            conn.sendall("Done.")
        else:
            conn.sendall(cmd_result)   # 否則就把結果發(fā)給對端(即客戶端)
conn.close()     # 關閉連接
客戶端示例代碼
#!/usr/bin/python
import socket
HOST = "192.168.4.37"
PORT = 50007
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)      # 定義socket類型,網(wǎng)絡通信,TCP
s.connect((HOST,PORT))       # 要連接的IP與端口
while 1:
    cmd=raw_input("Please input cmd:")       # 與人交互,輸入命令
    s.sendall(cmd)      # 把命令發(fā)送給對端
    data=s.recv(1024)     # 把接收的數(shù)據(jù)定義為變量
    print data         # 輸出變量
s.close()   # 關閉連接

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37548.html

相關文章

  • python-socket網(wǎng)絡編程

    摘要:網(wǎng)絡編程學習本文主要介紹網(wǎng)絡通信,以及的通信例子網(wǎng)絡通信是嵌套字的意思,可以理解為與們間的在線會話。關于通信可以看這里簡單理解多線程下開啟一個對于服務端,需要做件事情開啟設置配置綁定端口幀監(jiān)聽,收發(fā)包多線程關于報錯模塊提供個函數(shù)。 http://homeway.me/ python網(wǎng)絡編程學習 本文主要介紹socket網(wǎng)絡通信,以及python的socket通信例子 ...

    zero 評論0 收藏0
  • python網(wǎng)絡編程

    摘要:在任何類型的通信開始之前,網(wǎng)絡應用程序必須創(chuàng)建套接字?;谖募奶捉幼?,家族名又名基于網(wǎng)絡的套接字,家族名在和后續(xù)的版本中,支持的套接字有,,,。中的網(wǎng)絡編程在中主要是用模塊來實現(xiàn)基于套接字的網(wǎng)絡通信。 python學習記錄--網(wǎng)絡編程 1、套接字介紹 一臺機器上的不同進程之間進行通信可以利用隊列,管道等,但是不同機器之間的進程進行通信用隊列是不行的,解決這個問題就是網(wǎng)絡套接字。 套接...

    xuhong 評論0 收藏0
  • Python Socket 編程示例 Echo Server

    摘要:可以是主機名地址或空字符串。如果傳遞空字符串,則服務器將接受所有可用接口上的連接。應為之間的整數(shù)被保留,它是接受來自客戶端連接的端口號,如果端口號,某些系統(tǒng)可能需要超級用戶權限。 簡評:我們已經(jīng)從「Python Socket 編程概覽」了解了 socket API 的概述以及客戶端和服務器的通信方式,接下來讓我們創(chuàng)建第一個客戶端和服務器,我們將從一個簡單的實現(xiàn)開始,服務器將簡單地回顯它...

    leoperfect 評論0 收藏0
  • python socket編程的初探

    摘要:對于網(wǎng)絡編程來說,免不了要用到模塊。表示另一端的地址。以上主要是針對流數(shù)據(jù)的編程。對于協(xié)議的數(shù)據(jù),處理略有不同。通過傳入對象調(diào)用來監(jiān)聽對象的文件描述符,一旦發(fā)現(xiàn)對象就緒,就通知應用程序進行相應的讀寫操作。 對于python網(wǎng)絡編程來說,免不了要用到socket模塊。下面分享一下個人對python socket的一些理解。 socket編程步驟 服務端創(chuàng)建一個socket,綁定地址和端...

    stormgens 評論0 收藏0
  • Python 網(wǎng)絡編程之 UDP 協(xié)議

    摘要:創(chuàng)建創(chuàng)建通信接受套接字的數(shù)據(jù),與類似,但返回值是。發(fā)送數(shù)據(jù),將數(shù)據(jù)發(fā)送到,形式為,指定遠程地址發(fā)送,返回值是發(fā)送的字節(jié)數(shù)發(fā)送的報文是類型,發(fā)送的報文是類型,在發(fā)送前要記得編碼。 UDP 和 TCP 的區(qū)別 ? TCP UDP 連接性 面向連接 面向無連接 傳輸可靠性 可靠 不可靠 傳輸模式 流 數(shù)據(jù)報 應用場景 傳輸大量的數(shù)據(jù) 少量數(shù)據(jù) 速度 慢 快 T...

    waterc 評論0 收藏0

發(fā)表評論

0條評論

MadPecker

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<