前言:本文讲解涉及到python中socket函数用法,需要巩固基础知识的可以查看下面博客

python——Socket网络编程(详细讲解)(一)_xiaofengdada的博客-CSDN博客_socket编程python
python——Socket网络编程(详细讲解)(二)_xiaofengdada的博客-CSDN博客


服务端代码:

#通过socket实现服务器端和客户端的在线聊天
import socket #导入socket模块
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接,套接字家族为AF_INET
host = '0.0.0.0' #设置本地主机作为地址
port = 30000#设置端口
s.bind((host,port)) #绑定地址和端口
s.listen()#开始监听
conn,addr = s.accept()#建立客户连接
print('连接的地址和端口:', addr)  # 输出响应地址127.0.0.1和一个任意监听的地址的端口
while True:data = conn.recv(1024)  # 接受数据为1024字节if data.decode() == 'close':breakelse:print(f'客户端发送的数据:{data.decode()}')data_res = input("服务端:")if data_res == 'close':conn.send(data_res.encode())breakelse:conn.send(data_res.encode())
s.close()#会话关闭
conn.close()#连接关闭

客户端代码:

#客户端
import socket #导入socket模块
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接,套接字家族为AF_INET
host = '127.0.0.1' #设置本地主机作为地址,必须跟客户端一样
port =30000 #设置端口,必须跟客户端一样
try:c.connect((host, port))  # 绑定地址和端口,必须跟客户端一样
except Exception as e:print('服务端不存在!')
while True:data_res = input("服务端:")c.sendall(data_res.encode())#发送信息data = c.recv(1024)#接受服务器端的数据为1024字节data = data.decode()#解码接受到的数据print("接收到服务器的数据为:",data)if data_res == 'close':break
c.close()#连接关闭

最终实现效果:

先运行服务器端,建立通信,再运行客户端。

服务端输出结果:

客户端输出结果:

python——通过socket实现服务器端和客户端的在线聊天相关推荐

  1. Socket实现服务器端与客户端之间通信(输入文字聊天)

    用Socket实现服务器端与客户端之间通信 需求: 键盘输入文字使服务器端与客户端可以实现文字通信. 使用的是TCP协议. TCP协议 客户端 创建Socket连接服务端(指定ip地址,端口号)通过i ...

  2. c++:利用socket基于TPC/IP实现通信 在线聊天

    文章目录 1.前言 2.效果展示 2.socket(套接字)介绍 3.代码实现 4.参考 5.拓展与延伸 1.前言 希望大家合着参考资料一起看,对初入网络编程的童鞋更加友好. 2.效果展示 客户端: ...

  3. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET S ...

  4. Python基于socket实现的TCP客户端

    ''' 基于socket实现的TCP客户端 '''import socket# 建立socket对象 # 参数一表示IP地址类型(AF_INET为IPV4,AF_INET6为IPV6),参数二表示连接 ...

  5. Java中使用Socket实现服务器端和客户端通讯

    创建服务器端serverSocket 1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.I ...

  6. 【Python】socket编程——使用UDP协议打造在线时间服务器

    题目

  7. 局域网socket ip_基于局域网的小型在线聊天室(C++)

    linux:linux下C++ socket网络编程--即时通信系统(含源码)​zhuanlan.zhihu.com knowledge2018:vmware 虚拟机三种网络模式-"桥接.N ...

  8. 自学Python 58 Socket套接字编程 (一)

    Python Socket套接字编程 (一) 文章目录 Python Socket套接字编程 (一) 一.库 Socket 内置函数和属性 二.Python中的socket通信逻辑   Socket又 ...

  9. 简单java socket_基于Java Socket实现一个简易在线聊天功能(一)

    最近做了一个项目,其中有一个在线网页交流的需求,好久没写代码了,手都生疏了,于是先写demo练练手,分享到脚本之家平台,以此做个记录,方便自己和大家使用. 先给大家说下实现步骤分这样几大步: 1.使用 ...

最新文章

  1. R语言负二项分布函数Negative Binomial Distribution(dnbinom, pnbinom, qnbinom rnbinom )实战
  2. 如何安装系统认证签名过的APK
  3. ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-上 )
  4. 2.9 情感分类-深度学习第五课《序列模型》-Stanford吴恩达教授
  5. PlistBuddy简单使用
  6. Acknowledgement Modes
  7. beats耳机用安卓手机影响音效么_感受清晰细腻音质,实用有线入耳式耳机推荐...
  8. 美国确诊超46万!美国州长竟然抢起高龄程序员了,什么情况?
  9. javascript 方法总结(Array篇)
  10. scratch python的区别ev3_机器人编程和少儿编程,傻傻分不清—乐高EV3入门感想
  11. 活字格企业Web应用生成器荣获2017年度优秀软件产品
  12. 分享关于如何检测视频流码率
  13. 读书笔记-计算机视觉
  14. 笔记本安装Ubuntu9.04.图文并茂
  15. 用JavaScript实现元素自动旋转功能
  16. 旷视首席科学家孙剑:10年扎在书堆里,13年磨砺成首席
  17. 【笔记】Oracle触发器,根据另外一张表是否存在此记录,来判断是否更新
  18. 基于PHP服装购物网站的设计与实现
  19. 事件抽取文献整理(2018)
  20. 重磅 !微软官方出了免费 Python 视频教程

热门文章

  1. matlab pca svd,关于使用SVD进行PCA主成分提取的代码问题!也是必须涉及到原理的!...
  2. 手抖的主要原因是什么?
  3. 安装OpenStack-Train
  4. Javascript---获取系统时间,实现12小时制并判断上午或下午
  5. Skycc营销软件,让我找到了Dunny兔
  6. 【栈和队列专题】—— 双队列模拟栈
  7. 工业互联网从何而来?工业互联网的发展脉络
  8. 【收集】机器学习相关的比较好的博客
  9. NLP工具——自制英文时间标准化工具
  10. greenplum集群