初识Socket网络编程——用Python实现一个服务端与一个客户端之间的通信

该文章展示了一个使用Python的socket库创建的服务端和客户端示例。服务端能接收客户端发送的信息,回复相同内容,并将接收到的消息记录到日志文件中。客户端则可输入消息发送至服务端,接收到服务端的响应后显示在控制台。当接收到exit指令时,通信结束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 服务端可以接受来自客户端的信息,并回复同样的信息。

2. 服务端将每次发送的消息输出到日志中。

服务端:

import socket

socket_server = socket.socket()

socket_server.bind(('127.0.0.1',8889))

socket_server.listen(1)
conn, address = socket_server.accept()
print(f'与客户端的连接建立,客户端地址为{address}')
count = 1
while 1:
    recv = conn.recv(1024).decode("utf-8")
    if recv == 'exit':
        break
    print('{0} .客户端发送的信息是:{1}'.format(count,recv))
    recv = bytes(recv,'utf-8')
    conn.send(recv)
    f = open('D:\服务端消息发送日志输出.txt','a',encoding='utf-8')
    f.write('{0} .客户端发送的信息是:{1}'.format(count,recv.decode('utf-8'))+'\n')
    count += 1

f.close()
conn.close()

客户端:

import socket

socket_client = socket.socket()
socket_client.connect(('127.0.0.1', 8889))
while 1:
    msg = input('请输入您希望向客户端发送的消息:')
    msg = msg.encode('utf-8')
    socket_client.send(msg)
    if msg.decode('utf-8') == 'exit':
        break
    data_from_server = socket_client.recv(1024)
    data_from_server = data_from_server.decode('utf-8')
    print(f'客户端:{data_from_server}')

socket_client.close()

实现效果:

客户端:

服务端:

 

日志文件:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值