美文网首页
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