Python实现简单的C/S架构聊天程序
本文介绍使用Python socket模块实现简单的客户端与服务端通信程序。通过server.py和client.py两个脚本,演示基于TCP协议的单向对话流程。代码包含端口绑定、连接建立及数据收发逻辑,适合Python初学者理解网络编程基础。
本文分享了一个使用Python编写的聊天小程序完整代码,供读者参考学习。
本示例主要实现客户端与服务端之间的双向通信功能,逻辑相对简单,与之前介绍的群聊程序有所区别。
以下是服务端代码server.py的实现细节。
#-*- coding:utf-8 -*-
import socket, traceback, sys
host = ''
port = 51423
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(1)
ClientSock, ClientAddr = s.accept()
while 1:
try:
buf = ClientSock.recv(1024)
if len(buf):
print "客户端说: " + buf
data = raw_input("服务端说: ")
ClientSock.sendall(data)
except:
print "Dialogue Over"
ClientSock.close()
sys.exit(0)
以下是客户端代码client.py的实现细节。
#-*- coding:utf-8 -*-
import socket, sys
host = '192.168.80.21'
# host = raw_input("Plz imput destination IP:")
# data = raw_input("Plz imput what you want to submit:")
port = 51423
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((host, port))
except socket.gaierror, e:
print "Address-related error connecting to server: %s" % e
sys.exit(1)
except socket.error, e:
print "Connection error: %s" % e
sys.exit(1)
while 1:
try:
data = raw_input("客户端说: ")
s.send(data)
buf = s.recv(1024)
if len(buf):
print "服务端说: " + buf
except:
print "Dialogue Over"
s.close()
sys.exit(0)
程序运行后的实际效果展示如下。


以上就是本文的全部内容,希望能为读者的学习提供一定帮助,同时也欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









