美文网首页
2018-06-19 python tcp客户端和服务端demo

2018-06-19 python tcp客户端和服务端demo

作者: 小沫代码之路 | 来源:发表于2018-06-19 17:34 被阅读0次

    TCP和UDP的区别:https://blog.csdn.net/u013777351/article/details/49226101

    服务端代码:
    
    #-*- coding:utf8 -*-
    import socket
    
    
    
    
    def run(addr, port):
        # 创建socket对象(socket):其中两个参数分别为Address Family(如AF_INET为IPV4,AF_INET6为IPV6,AF_UNIX为UNIX域协议族)、socket类型(如SOCK_STREAM为TCP,SOCK_DGRAM为UDP)。
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 绑定服务器地址(bind):参数为服务器地址二元组。
        sock.bind((addr, port))
        # 监听(listen):参数为允许的连接数。
        sock.listen(1)
        # 等待请求(accept)。
        while True:
            connection, clientaddr = sock.accept()
            try:
                # 接收数据(recv、recvfrom、recvfrom_into、recv_into)、发送数据(send、sendall、sendto)。
                data = connection.recv(1024)
                print('Client Address:', clientaddr)
                print('Message sent:', data)
            finally:
                # 关闭连接(close)。
                connection.close()
    
    
    if __name__ == '__main__':
        run('127.0.0.1', 8001)
    
    
    客户端代码:
    #-*- coding:utf8 -*-
    import socket
    #
    # 关闭连接:同server端。
    
    def send(addr, port):
        # 创建socket对象(socket):同server端。
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 连接服务器(connect):参数为服务器地址二元组。
        sock.connect((addr, port))
        # 发送和接收数据:同server端。
        msg = 'hello server'
        sock.sendall(msg)
        sock.close()
    
    if __name__ == '__main__':
        send('127.0.0.1', 8001)
    

    相关文章

      网友评论

          本文标题:2018-06-19 python tcp客户端和服务端demo

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