Python实现简单的C/S架构聊天程序

不晚
不晚
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍使用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)

程序运行后的实际效果展示如下。

以上就是本文的全部内容,希望能为读者的学习提供一定帮助,同时也欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表