套接字与套接字编程

一、套接字

端口:标记不同的网络进程;使用16位比特位表示。

{ IP : Port} ----- 来表示某一主机的具体进程是什么 ----  套接字(socket)

套接字:是抽象概念,表示TCP连接的一端;通过套接字可以进行数据的发送或接收

TCP连接由两个套接字组成:

TCP = { Socket1  : Socket2 }

   = {{ IP:Port } { IP:Port }}

一个IP可以有多个套接字。

套接字编程:

 二、套接字编程

         服务端(被动连接的一方)                                                  客户端(主动连接的一方)

// 服务端

import socket


def server():
    # 创建socket
    s = socket.socket()
    host = "127.0.0.1"
    port = 6666
    # 绑定套接字
    s.bind((host, port))
    
    # 监听
    s.listen(5)

    while True:
        c, addr = s.accept()
        print("Connect Addr:", addr)
        c.send("Welcome to my course.")
        c.close()


if __name__ = '__main__':
    server()

  

// 客户端


import socket

def client(i):
    # 创建套接字
    s = socket.socket()
    # 连接套接字
    s.connect(('127.0.0.1', 6666))

    print('Recv msg: %s, Client: %d', %(s.recv(1024), i))
    s.close()


if __name__ == '__main__':
    for i in range(10):
        client(i)

  

猜你喜欢

转载自www.cnblogs.com/1220x/p/11762244.html