欧美成人片一区二区三区,久久碰人妻一区二区三区,久久婷婷激情综合色综合俺也去,狂野欧美性猛交免费视频,久久夜色精品国产亚洲

19
2020/09

python搭建scoket服務

發(fā)布時間:2020-09-19 16:08:27
發(fā)布者:神棍子
瀏覽量:
0

python環(huán)境中已經(jīng)自帶了scoket庫,只需要簡單的幾行代碼便可以搭建scoket環(huán)境進行通信。

1.首先需要導入scoket包

        import scoket

2.然后初始化scoket實例,scoket方法中有三個參數(shù)(地址簇,類型,協(xié)議)

        init = scoket.scoket()

    參數(shù)一:地址簇

  socket.AF_INET IPv4(默認)

  socket.AF_INET6 IPv6

  socket.AF_UNIX 只能夠用于單一的Unix系統(tǒng)進程間通信

    參數(shù)二:類型

  socket.SOCK_STREAM  流式socket , for TCP (默認)

  socket.SOCK_DGRAM   數(shù)據(jù)報式socket , for UDP

  socket.SOCK_RAW 原始套接字,普通的套接字無法處理ICMP、IGMP等網(wǎng)絡報文,而SOCK_RAW可以;其次,SOCK_RAW也可以處理特殊的IPv4報文;此外,利用原始套接字,可以通過IP_HDRINCL套接字選項由用戶構(gòu)造IP頭。

  socket.SOCK_RDM 是一種可靠的UDP形式,即保證交付數(shù)據(jù)報但不保證順序。SOCK_RAM用來提供對原始協(xié)議的低級訪問,在需要執(zhí)行某些特殊操作時使用,如發(fā)送ICMP報文。SOCK_RAM通常僅限于高級用戶或管理員運行的程序使用。

  socket.SOCK_SEQPACKET 可靠的連續(xù)數(shù)據(jù)包服務

    參數(shù)三:協(xié)議

  0 ?。J)與特定的地址家族相關的協(xié)議,如果是 0 ,則系統(tǒng)就會根據(jù)地址格式和套接類別,自動選擇一個合適的協(xié)議

3.然后綁定ip地址和端口號 使用bind方法(默認應該都是自己的ip所以用localhost)

    init.bind(('localhost',1234))

4.然后開始監(jiān)聽連接,監(jiān)聽方式是listen(非阻塞,需填寫最大鏈接個數(shù))

    init.listen(5)

5.然后使用accept()方法阻塞鏈接等待信息傳遞,返回(套接字對象,ip)

    init.accept()

6.使用recv()接收數(shù)據(jù),接收過來的數(shù)據(jù)是二進制所以還需要轉(zhuǎn)義

    data = conn.recv(1024)

    print(data.decode())

7.然后建立客戶端,1,2步相同,使用connect((ip,端口)),方法進行連接

    init.connect(('localhost',1234))

8.發(fā)送信息send方法

    init.send('hello'.encode('utf-8'))

此時scoket搭建完成,看一下測試情況

    

socket

    

關鍵詞:
返回列表