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

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

本文介绍使用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。