美文网首页
01 python socket 服务器和客户端(简易)

01 python socket 服务器和客户端(简易)

作者: _Mirage | 来源:发表于2020-07-17 07:26 被阅读0次

    服务器:

    # coding=utf-8
    
    import socket
    
    # socket.AF_INET是默认的地址簇
    # UDP是socket.SOCK_DGRAM
    # TCP是socket.SOCK_STREAM
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 获取本机IP地址
    host = socket.gethostname()
    # 任意指定端口号(大于1024)
    port = 5200
    s.bind((host, port))
    # 最多同时连接5个客户端
    s.listen(5)
    while True:
        print('等待客户端连接中...')
        # 阻塞, 直到客户端连接请求, c是客户端套接字, addr是客户端地址
        c, addr = s.accept()
        print(f'来自客户端{addr}的连接..')
        # 向客户端发送数据, 必须发送和传递ascii字符或者二进制流, 非ascii字符需要手动转义成字节流
        c.send(bytes('感谢您的连接..', 'utf-8'))
        # 关闭当前客户端请求
        c.close()
    
    

    客户端:

    # coding=utf-8
    
    import socket
    
    
    if __name__ == '__main__':
        # 创建客户端套接字对象, TCP协议
        s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 连接到本地端口5200的服务器
        s1.connect((socket.gethostname(), 5200))
        # 注意服务器和客户端必须要完整"握手", 一次发送必须对应一次接收. 最大一次接受1024字节. 
        print(s1.recv(1024).decode('utf-8'))
        # 由于前面服务器在发送完数据后主动关闭了客户端套接字, 所以这里我们不需要再手动关闭.
        # s1.close()
    
    

    相关文章

      网友评论

          本文标题:01 python socket 服务器和客户端(简易)

          本文链接:https://www.haomeiwen.com/subject/isjwhktx.html