python——通过socket实现服务器端和客户端的在线聊天
前言:本文讲解涉及到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实现服务器端和客户端的在线聊天相关推荐
- Socket实现服务器端与客户端之间通信(输入文字聊天)
用Socket实现服务器端与客户端之间通信 需求: 键盘输入文字使服务器端与客户端可以实现文字通信. 使用的是TCP协议. TCP协议 客户端 创建Socket连接服务端(指定ip地址,端口号)通过i ...
- c++:利用socket基于TPC/IP实现通信 在线聊天
文章目录 1.前言 2.效果展示 2.socket(套接字)介绍 3.代码实现 4.参考 5.拓展与延伸 1.前言 希望大家合着参考资料一起看,对初入网络编程的童鞋更加友好. 2.效果展示 客户端: ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET S ...
- Python基于socket实现的TCP客户端
''' 基于socket实现的TCP客户端 '''import socket# 建立socket对象 # 参数一表示IP地址类型(AF_INET为IPV4,AF_INET6为IPV6),参数二表示连接 ...
- Java中使用Socket实现服务器端和客户端通讯
创建服务器端serverSocket 1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.I ...
- 【Python】socket编程——使用UDP协议打造在线时间服务器
题目
- 局域网socket ip_基于局域网的小型在线聊天室(C++)
linux:linux下C++ socket网络编程--即时通信系统(含源码)zhuanlan.zhihu.com knowledge2018:vmware 虚拟机三种网络模式-"桥接.N ...
- 自学Python 58 Socket套接字编程 (一)
Python Socket套接字编程 (一) 文章目录 Python Socket套接字编程 (一) 一.库 Socket 内置函数和属性 二.Python中的socket通信逻辑 Socket又 ...
- 简单java socket_基于Java Socket实现一个简易在线聊天功能(一)
最近做了一个项目,其中有一个在线网页交流的需求,好久没写代码了,手都生疏了,于是先写demo练练手,分享到脚本之家平台,以此做个记录,方便自己和大家使用. 先给大家说下实现步骤分这样几大步: 1.使用 ...
最新文章
- R语言负二项分布函数Negative Binomial Distribution(dnbinom, pnbinom, qnbinom rnbinom )实战
- 如何安装系统认证签名过的APK
- ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-上 )
- 2.9 情感分类-深度学习第五课《序列模型》-Stanford吴恩达教授
- PlistBuddy简单使用
- Acknowledgement Modes
- beats耳机用安卓手机影响音效么_感受清晰细腻音质,实用有线入耳式耳机推荐...
- 美国确诊超46万!美国州长竟然抢起高龄程序员了,什么情况?
- javascript 方法总结(Array篇)
- scratch python的区别ev3_机器人编程和少儿编程,傻傻分不清—乐高EV3入门感想
- 活字格企业Web应用生成器荣获2017年度优秀软件产品
- 分享关于如何检测视频流码率
- 读书笔记-计算机视觉
- 笔记本安装Ubuntu9.04.图文并茂
- 用JavaScript实现元素自动旋转功能
- 旷视首席科学家孙剑:10年扎在书堆里,13年磨砺成首席
- 【笔记】Oracle触发器,根据另外一张表是否存在此记录,来判断是否更新
- 基于PHP服装购物网站的设计与实现
- 事件抽取文献整理(2018)
- 重磅 !微软官方出了免费 Python 视频教程