Python教程

python实现简单的socket通信

本文主要是介绍python实现简单的socket通信,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

服务端:

import socket

# 实例化一个套接字对象   family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM
net_com = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 重复使用ip端口
net_com.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# 绑定ip地址和端口号
net_com.bind(('10.102.38.182',8082))
# 最大挂起的链接数量
net_com.listen(5)
# 等待客户端链接  连接后拿到客户端地址
print('服务端已启动...')
conn,client_addr = net_com.accept()
print('连接成功',client_addr)

while True:  # 通信循环
    try:
        # 接收消息
        data = conn.recv(1024)   # 1024代表接收数据的最大字节数
        print('客户端发送的数据:',data.decode('utf-8'))
        msg = input('>> ').strip()
        # 发给客户端
        conn.send(msg.encode('utf-8'))
    except ConnectionResetError:
        break
# 关闭连接
conn.close()
# 关闭服务端
net_com.close()

客户端:

import socket

# 实例化一个套接字对象   family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM
net_com = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 连接服务端
net_com.connect(('10.102.38.182',8082))

while True:  # 通信循环
    msg = input('>>:').strip()
    # 如果是空数据  就不发送
    if not msg:continue
    # 发消息
    net_com.send(msg.encode('utf-8'))
    # 收消息
    data = net_com.recv(1024)
    print('服务器返回的数据:',data.decode('utf-8'))
# 关闭客户端
net_com.close()

这篇关于python实现简单的socket通信的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!