import socket
# 1、使用UDP协议实现,A用户给B用户发送消息,B用户负责将A发送的消息放到文本日志里
# 1、创建udp套接字
from threading import Thread
socket_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定ip
socket_client.bind(("127.0.0.1", 7788))
# 2、发送数据
def send():
try:
while True:
msg = input("发送的数据为:")
socket_client.sendto(msg.encode("utf-8"), ("127.0.0.1", 8888))
if msg == "88":
break
except:
print("聊天室关闭")
finally:
socket_client.close()
def receive():
try:
while True:
# 3.接收数据:
c_msg, ip = socket_client.recvfrom(512)
# 4、打印数据
print(f"{ip}发送的数据:{c_msg.decode('utf-8')}")
except:
print("聊天室关闭")
finally:
socket_client.close()
Thread(target=send).start()
Thread(target=receive).start()
```python
# 服务器端
import socket
# 1、使用UDP协议实现,A用户给B用户发送消息,B用户负责将A发送的消息放到文本日志里
# 1、创建socket套接字
from threading import Thread
socket_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2、绑定套接字的ip地址
socket_server.bind(("127.0.0.1", 8888))
import datetime
def receive():
try:
while True:
# 3、接收数据
msg, ip = socket_server.recvfrom(512)
# 打印接收到的数据
print(f"{ip}发送的数据:{msg.decode('utf-8')}")
with open("socket_server_info", "a", encoding="utf-8") as w:
w.writelines(msg.decode('utf-8') + " " + datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S") + "\n")
except:
print("聊天室关闭")
finally:
socket_server.close()
def send():
try:
while True:
# 4、发送数据
s_msg = input("请输入发送的消息:")
socket_server.sendto(s_msg.encode("utf-8"), ("127.0.0.1", 7788))
if s_msg == "88":
break
except:
print("聊天室关闭")
finally:
socket_server.close()
Thread(target=receive).start()
Thread(target=send).start()
``
相关推荐
Java网络编程——UDP聊天室(可能是全网最良心的聊天室了吧)
Java网络编程——UDP聊天室(1) 自从将要考试以来就没时间写过文章了,终于熬到了放假,闲着没事干就和小伙伴一起写了个聊天室玩玩。 本来是打算用TCP来作为通信协议的,但是呢,我这么菜,就换成简单的UDP通信协议了。 闲话就先说到这里。正文要紧。 UDP协议的基础内容: <from 百度百科> 算了我还是太懒了,直接附上链接吧: 传送门 UDP的基础类: 话不多说直接贴代码: ...
基于UDP的简易网络聊天室
基于UDP的简易聊天室
Qt Udp聊天室
之前看了《apue》,但是一直没做什么东西,很多概念性的东西了解之后不实践很容易忘掉。所以蹦出写一个聊天室的想法。当然Qt内部有关于Udp和Tcp相关类的封装,任何底层的函数都可以通过直接调用类里的方法完成。我也是参照了《Qt学习之路》这一系列文章做下去的。 先看一下Udp和Tcp什么区别: Udp是无连接,什么是无连接呢?就是说两台机器如果通信的话不需要事先经过一些约定(连接),可以直接传数据
基于python flask 搭建的简单聊天室 完整代码+报告 毕业设计
基于python flask 搭建的简单聊天室 完整代码+报告 毕业设计
一个简单的UDP聊天室
NULL 博文链接:https://sunshyfangtian.iteye.com/blog/642334
简易聊天室实验报告
网络聊天室实验报告,大家可以下载参考一下。
python基于udp的网络聊天室报告_Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解发布时间:2020-09-08 10:45:23来源:脚本之家阅读:69作者:独听钟声晚本文实例讲述了Python实现基于socket的udp传输与接收功能。分享给大家供大家参考,具体如下:udp的传输与接收windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ提取码:...
Python 文字聊天室项目
Python 文字聊天室项目 可实现python的客户端和服务端的文字通信
Python的udp简单聊天室程序
udp简单聊天室程序import socketdef menu(): """这是聊天器菜单""" print("简易版udp聊天器") print("=" * 30) print("1. 发送聊天信息") print("2. 接收聊天信息") print("3. 退出聊天") print("=&qu
Java基于UDP传输协议的简单聊天室
1、java socket 2、UDP传输协议 3、json数据格式 4、简易聊天室程序实现
Python网络编程实验报告,实验一、实验二、实验三,附优秀课程设计报告
第一次实验内容是:使用Python3 实现TCP全连接端口扫描器;第二次实验内容是:用户从客户端进行登录后,可以进行从服务端下载文件;第三次实验内容是:多线程TCP端口扫描。最后课程设计是《多功能服务端与客户端》,具体要求如下: Python网络编程实现如下功能: 1、服务器端能够同时为100个客户端提供服务; 2、服务器端使用数据库保存用户帐户、密码和email等信息; 3、服务器端提供FTP服务; 4、服务器端提供消息传递功能 5、客户端提供用户注册功能,登录功能,聊天功能,发送和接收email功能; 6、客户端提供用户间传递文件的功能; 7、客户端提供向服务器公共文件区上传下载文件的功能(全体用户可见); 8、客户端提供向服务器用户个人文件区上传下载文件的功能(只有用户个人可见);
python基于udp的网络聊天室报告_UDP-Python:如何使服务器在UDP聊天室中广播客户端发送的消息...
我用Python编写了一个使用UDP套接字的小型聊天室应用程序。我已经将它设置为用户选择用户名然后向服务器发送消息的位置。然后,服务器会将消息广播到每个连接的客户端。我设法让服务器正常工作,客户机能够向服务器发送消息。问题是服务器没有向连接的其他客户端广播消息。在以下是服务器代码:from socket import *import socketport = 1234localhost='127....
huggingface 镜像站推荐
在做 Ai 应用开发或者学习的时候,我们经常需要下载各种模型,而 huggingface 的模型下载速度很慢或者根本就连不上,这里推荐一个 huggingface 的镜像站,速度很快,可以大大提高我们的效率。
C 基于UDP实现一个简易的聊天室
引言 本文是围绕Linux udp api 构建一个简易的多人聊天室.重点看思路,帮助我们加深 对udp开发中一些api了解.相对而言udp socket开发相比tcp socket开发注意的细节要少很多. 但是水也很深. 本文就当是一个demo整合帮助开发者回顾和继续了解 linux udp开发的基本流程. 首先我们来看看 linux udp 和 tcp的异同. /* 这里
动态博弈、威胁与承诺(博弈论入门学习笔记四)
0 动态博弈 动态博弈:行动有先后顺序,不同的参与人在不同时点行动,先行动者的选择影响后行动者的选择空间,后行动者可以观察到先行动者做了什么选择。例如下棋、消费者和商家讨价还价、谈婚论嫁、企业之间的价格战等等。 因此,为了做出最优的行动选择,每个参与人都应该思考:如果我如此选择,对方将如何应对?如果我是他,我将会如何行动?给定他的应对,什么是我的最优选择? 动态博弈中的战略:在博弈开始之前就...
警惕!数字签名伪造的攻防演练:用SigThief克隆证书的真实测试(Windows环境)
本文深入探讨了Windows环境下数字签名伪造的攻防技术,详细介绍了使用SigThief工具进行签名提取与克隆的实战步骤。通过真实测试案例,揭示了数字签名安全机制的潜在漏洞,并提供了有效的防御策略和检测技术,帮助安全人员提升系统防护能力。
基于JAVA的udp编程实现简易聊天室
在网上看了几个udp编程的实例,都是实现简易聊天室,但是都存在一个问题,就是通信的一方不能实现连续的发送或者是连续的接受消息,因为发送消息,键盘的读入Scanner会导致阻塞,同理,接受消息的时候,socket.receive()方法也会导致阻塞。 基于这个原因,我们如果把通信中一方的发送功能和接受功能用同一个main线程实现,就只能按照,发一条,收一条,这个顺序聊天,如果想解决阻塞的缺点,只能用多线程来实现。 首先,将发送数据的功能封装成函数,形参列表分别为数据报套接字,目标IP,目标端口,代码如下:
从工业夹爪到Shadow Hand:一文看懂机器人灵巧手的硬件进化史(附避坑指南)
本文详细解析了机器人灵巧手从工业夹爪到Shadow Hand的硬件进化历程,涵盖刚性夹持器、自适应夹持器到多指灵巧手的技术突破。文章还提供了选购指南与技术避坑策略,帮助读者根据操作复杂度和环境结构化程度选择最适合的解决方案,适用于制造业、医疗和服务业等多个领域。
UDP开发简易聊天室
UDP开发简易聊天室Socket开发步骤创建UDP服务端创建UDP客户端 Socket Socket是网络编程提供的一种机制,通信的两端都要有socket,网络通信其实就是socket间的通信,数据在两个socket的IO流上通信 开发步骤 创建UDP服务端 UPPServer public class UDPServer { public static void main(String[] args) { DatagramSocket ds=null; t
攻防世界:Crypto习题之easy_RSA
在非对称加密算法中,单向函数被广泛应用,用于确保从公钥加密后的密文无法轻易推导出私钥,从而保证数据的安全性。而其中最著名的算法便是 RSA 加密算法。首先设φm:=∣1≤k≤mgcdkm1∣为欧拉函数(Euler’sche Phi-function)。pqn:=pqpqφnnpqpqφnp−1q−1e∈12...φn−1gcdφne1ended≡1φn假设我们现在有明文x以及公钥en。
炉石传说游戏系统拆解和部分系统分析
一.游戏综述 《炉石传说:魔兽英雄传》是一款由暴雪娱乐公司出品的策略类卡牌游戏。中国大陆地区的独家运营由网易公司代理。2014年3月13日全球同步正式运营。游戏背景设定于暴雪的魔兽系列,共十位魔兽中的角色作为十种不同的职业。而玩家要做的,就是根据己方现有的卡牌组建合适的卡组,指挥英雄,驱动随从,施展法术,与游戏好友或素不相识的对手一决高下。 二.游戏系统拆解图 三.游戏系统部分分析 1. 对战系统 (1)战斗准备 炉石传说开始前都需要配置至少30张卡牌作为出战卡组 .....
UDP 聊天室
import socket def send_msg(udp_socket): msg = input("\n请输入要发送的数据:") dest_addr = input("\请输入对方的ip地址:") dest_port = int(input("\n请输入对方的port:")) udp_socket.sendo(msg.encode('utf-8'),(de...
Adobe软件非正版弹窗终极解决方案:PS/Ai/PR/AE禁用提示一键清除指南
本文提供了Adobe软件非正版弹窗的终极解决方案,包括PS、Ai、PR、AE等软件的禁用提示一键清除指南。通过专业清理工具和手动修改系统文件的方法,帮助用户彻底解决Adobe弹窗问题,提升使用体验。适用于Windows和Mac系统用户,操作简单高效。
基于 TCP 与 UDP 的 Socket 聊天室
该系列博客衍生于我所参与的一个校企合作项目,作为该项目的一名成员,我无法公开项目的代码,文中出现的所有代码以及流程图均与原项目不同,包括代码的语言选择、通讯的流程图、通讯协议等。 原项目中的实现功能如下: 在 Linux 上使用 ROS 的收发机制来实现通讯模块与无人驾驶模块的数据传输; 在推耙机与中控室之间主要使用基于 TCP 协议的自定义数据帧的形式来进行数据传输,采用 Python 实现。 而本系列博客的最终需求是在两台不同主机之间使用基于 TCP 协议的自定义数据帧的形式来进行数据传输。代码采.
BUG调试案例六:RK3568+国产YT8531网络PING调试案例
这次调试过程让我对后续类似问题的应对更加有信心。如果芯片在其他项目中已被验证可用,那么在我们的设计中原则上也应该能够正常工作。如果出现异常,就必须坚持追根溯源,找出具体原因和根本问题。每一次问题的解决,都是一次深入理解系统和提升能力的机会 —— 在不断探索和学习中,也在持续成长。
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
java用UDP作简易聊天室
-------------------------------------------------java用UDP作简易聊天室---------------------------------------------------- /** * 服务端 * @author李昆鹏 * */ public class UDPServer implements Runnable{ ...
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
1850



被折叠的 条评论
为什么被折叠?



