做一个Udp聊天室

C#网络编程 - 局域网聊天室(UDP) 一:知识预览 TextBox禁止编辑 ComboBox元素的添加 获取本机网卡IPs 多道程序设计(多线程) 二:界面设计 三:通讯逻辑 【知识预览】 1> TextBox禁止编辑 private void textBox2_KeyPress(object sender, KeyPressEventArgs e) { //控制TextBox无法被编辑 ... 阅读详情

做一个Udp聊天室

准备工作

首先下一个网络调试助手,mac的长这个样子:

乌班图的长成这个样子:

windows的差不了太多,上网搜一下吧。
观察上面你就能看到,都有几个共同点。

红色箭头从上往下,依次是:
你要发的目标地址,目标地址的目标端口,你只有在发送的端口,写上8080,这个网络调试助手才能接收到。(端口是分给每个软件的,或者说进程的。)
目标IP其实就是你本机的ip地址,端口号设置为7788,不设置当然也是可以的。那样系统就会分配一个端口给你。
那么问题来了,这么看自己的ip呢,mac就在终端输入ifconfig,linux也是这个命令。windows,cmd之后黑框输入ipconfig就会出来。

本地ip一般不需要你设置,端口需要设置。点击开始绑定,就建立连接了。
结果如下:


代码如下:

import socket


def send_msg(udp_socket):
	"""发送消息"""
	dest_ip = input("输入ip:")
	dest_port = int(input("输入port:"))
	send_data = input("输入内容:") 
	udp_socket.sendto(send_data.encode("utf-8"),(dest_ip,dest_port))  

def recv_msg(udp_socket):
	"""接受信息"""
	recv_data = udp_socket.recvfrom(1024)
	print("%s : %s" % (str(recv_data[1]),recv_data[0 ].decode("utf-8")))

def main():
	udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
	udp_socket.bind(("",7788))

	while True:
		print("Udp聊天器")
		print("1.发送消息")
		print("2.接受消息")
		print("0.退出功能")		
		op = input("请输入功能")
		if "1" == op:
			send_msg(udp_socket)
		elif "2" == op:
			recv_msg(udp_socket)
		elif "0" == op:
			break
		else:
			print("输入有误")

		

if __name__ == '__main__':
	main()

相关内容

写一个TCP服务器
写一个TCP客户端

【Java】- TCP、UDP协议实现简易聊天室 简易聊天室数据设计 数据设计 必要条件:客户端、服务器端 必要约束:数据传输协议,使用尾部追加换行结束符 原理:服务器端监听消息来源,客户端连接服务器并发送消息到服务器 多类型客户端:一客户端发送消息给服务器端,服务器端将该消息转发给其他客户端,实现客户端之间的通信。 核心是数据转发协议。 ... 阅读详情

相关推荐

【Linux网络编程】基于UDP实现多人聊天室

基于UDP实现的多人聊天室,内附详细的服务器和客户端的思路步骤和代码实现。以及个个模块的实现。最后附上源代码给大家借鉴参考,希望对大家有所帮助。 代码中可能有许多不规范的地方,逻辑可能并不严谨,还请各位大佬不吝赐教。 整体项目并不复杂,只需要想清楚service和client分别需要做什么事。画好流程图,就会很清晰的将思路缕顺。从而只需要模块化的完成相应代码即可。

m0_65835264的博客 4222

基于UDP的简易网络聊天室

基于UDP的简易聊天室

laoKdx的博客 2077

用UDP协议实现最简单的“聊天室”功能

小弟新人一枚,刚刚学习了网络编程的基础,就试着用UDP协议实现一个简单的“聊天室”,在写代码过程中也是各种出错,还好最终是实现了各种最基本的功能,在此记录一下当时写代码时的各种问题,希望跟我一样的新人能够避免某些常见问题,同时也希望能够得到大神的指点,看看代码还有哪里可以更加精简,更加效率。     首先我先来介绍一下实现这个聊天室的服务器端和客户端的大概流程,一会会把流程图传上来。

MMT的专栏 1万+

项目-网络聊天室(UDP实现)

客户端不仅需要读取服务器消息,而且需要发送消息。服务器端记录客户端的地址,客户端发送消息后,服务器群发给各个客户端软件。UDP客户端不会直接互连,所以不会获知其它客户端地址,所有客户端地址存储在服务器端。登录:服务器存储新的客户端的地址。把某个客户端登录的消息发给其它客户端。退出:服务器删除退出客户端的地址,并把退出消息发送给其它客户端。聊天:服务器只需要把某个客户端的聊天消息转发给所有其它客户端。●客户端会不会知道其它客户端地址?●客户端如何同时处理发送和接收?●服务器如何存储客户端的地址?

lkc201314的博客 2319

基于UDP的简单聊天室

聊天室功能:        1.其他用户上线通知。        2.其他用户下线通知。        3.获取在线列表。        4.用户之间点对点聊天。实现思想:        1.服务器端主要是解析客户端发送过来的各种指令,并作出相应的处理和回应。        2.客户端采用select管理套接口IO和标准输入IO,当有事件发生,做出相应的处理。        3.采用链表存储每个客...

IT呵呵哒的博客 5159

Java网络编程——UDP聊天室(可能是全网最良心的聊天室了吧)

Java网络编程——UDP聊天室(1) 自从将要考试以来就没时间写过文章了,终于熬到了放假,闲着没事干就和小伙伴一起写了个聊天室玩玩。 本来是打算用TCP来作为通信协议的,但是呢,我这么菜,就换成简单的UDP通信协议了。 闲话就先说到这里。正文要紧。 UDP协议的基础内容: <from 百度百科> 算了我还是太懒了,直接附上链接吧: 传送门 UDP的基础类: 话不多说直接贴代码: ...

小小白的成长之路 1850

UDP实现网络聊天室

UDP网络聊天室

m0_58057005的博客 928

udp实现聊天室项目

udp实现聊天室项目,有注册,登陆,群聊,私聊功能。采用sqlite3数据库保存用户信息,采用链表实现群聊和私聊功能。

网络编程套接字(上篇)UDP实现简易多人聊天室

目录 背景知识 主机间通信本质 socket 端口号特点: 为什么不用进程pid? 网络字节序 socket编程接口API sockaddr结构 ​编辑简单UDP网络程序 了解UDP协议 简易多人聊天室实现 服务端代码: 客户端代码:

u014801954的博客 1710

UDP实现聊天室

实现客户端和服务器实时聊天,支持多客户端,注册后系统给每个在线的用户发送消息

【Codesys】获取从站信息,判断是否从站断联,总线丢失

获取EtherCAT从站信息,判断是否从站断联,总线丢失

qq_35316470的博客 5729

python udp聊天室_做一个Udp聊天室

做一个Udp聊天室准备工作首先下一个网络调试助手,mac的长这个样子:image乌班图的长成这个样子:imagewindows的差不了太多,上网搜一下吧。观察上面你就能看到,都有几个共同点。image红色箭头从上往下,依次是:你要发的目标地址,目标地址的目标端口,你只有在发送的端口,写上8080,这个网络调试助手才能接收到。(端口是分给每个软件的,或者说进程的。)目标IP其实就是你本机的ip地址,...

weixin_39760065的博客 251

Western blot (WB) 灰度分析进阶指南:ImageJ 高效定量技巧与实战优化

本文详细介绍了使用ImageJ进行Western blot灰度分析的进阶技巧,包括批量处理、背景校正和疑难条带处理等实战优化方法。通过自动化宏脚本和动态背景校正,显著提升分析效率和准确性,特别适合科研人员处理复杂WB数据。

weixin_42557830的博客 896

【socket】做一个最简单的udp聊天室

这是个最最最简单的版本,只能发送一句接收一句循环,简单的练练手 大概逻辑就是这样,以后有机会在优化吧 import socket def main(): # 创建一个udp套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定本地信息 local_addr = ('', 7788) # ip一般不用写,表示本机任何一个ip udp_socket.bind(local_addr

染柒的博客 597

S32K3基于EB配置GPT触发WDG的实战解析

本文详细解析了S32K3 MCU基于EB tresos工具配置GPT定时器触发看门狗(WDG)的实战方法。通过分析协同工作机制、MCAL配置步骤及代码实现,帮助开发者构建可靠的硬件监控系统,提升汽车电子系统的安全性与实时性。

f9g0h的博客 202

银河麒麟V10离线安装VLC播放器:依赖处理与3.0.9.2版本实操指南

在国产化操作系统日益普及的背景下,软件安装方式成为政企内网用户关注的重点。离线安装作为一种不依赖公网源的部署手段,常用于解决内网环境下的软件获取问题。其核心在于理解Linux包管理机制,如dpkg与apt对依赖关系的处理逻辑。掌握这一原理,不仅能应对多媒体软件的部署,也能提升系统维护效率。VLC作为跨平台多媒体播放器,凭借强大的解码能力与协议支持,广泛应用于本地视频播放、RTSP拉流及监控大屏等场景。本文从离线安装的通用概念出发,结合银河麒麟V10桌面版的实际环境,详细梳理了VLC 3.0.9.2离线包的获

weixin_32247165的博客 366

【UDP实现聊天室(附带源码)】eclipse平台

eclipse上用udp实现聊天室

linminx的博客 1085

树莓派4B+DroneKit实战:手把手教你用Python控制无人机飞行(附避坑指南)

本文提供了一份详尽的树莓派4B与DroneKit配置实战指南,涵盖从硬件选型、软件环境搭建到Python编程控制无人机的完整流程。文章重点解决了ARM架构下的兼容性问题、MAVLink通信配置及端口管理等常见难题,并附带了实用的避坑指南和代码示例,帮助开发者构建稳定可靠的无人机控制系统。

weixin_29056781的博客 410

Java 复习 02 UDP 利用云服务器写简易聊天室

2.1 UDP 利用云服务器写简易聊天室 以前的话呢,学过 网络编程 那里,写了一系列的 笔记。但是 那时候 没租 服务器,根本 就不算是 真正的 学习 网络编程。 这次的话,我把写的 服务器 程序 搭在 我租的阿里云服务器上。然后 我们 进行了 一系列的 尝试。其中 我认为 我写的 最好的,就是 UDP 利用 云服务器 弄一个 简易 聊天室。当然 这个 聊天室 只 限于 一对一。也就是 我们 在 本机 上 打开 客户端,然后 服务器上 打开服务端,可以 进行 一对一的 信息 传输。 服务器端 imp

小哞^同^学的技术博客 853

欧姆龙SYSMAC STUDIO如何与基恩士SR-1000进行EIP通信

简要介绍一下扫码枪和欧姆龙sysmac的配置

weixin_42031602的博客 4777

Oracle EBS AP发票被预付款核算创建会计科目时间超长

在客户职能部门的水电、通信和物业等费用统一管理或对接部门报销时,用户将所有费用分摊到各个末级部门,导致AP发票行数高达上千行。这引发了以下问题:1)用户过账时,创建会计科目的请求执行超过20小时未完成,只能手动取消;2)取消请求后,系统一直处于回滚状态;3)通过SQL脚本分析,发现预付发票核销分配行表记录数量庞大,单笔AP发票记录高达90多万条,类似发票共有5笔。

陈显平的专栏-Oracle EBS 351

java多线程聊天室基于UDP协议简单实现

如果有不正确的地方请指出。 发送端 package Socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class 线程控制send impleme

Jason Z的博客 459

【LLC快速上手系列】LLC轻载时:开关频率 + 死区时间 联合优化!

轻载优化,频率别飞天,死区要有耐心。两手一起抓,效率高到笑。😎。

weixin_43199439的博客 1182

python udp聊天室_python编写简易聊天室实现局域网内聊天功能

本文实例为大家分享了python实现局域网内聊天功能的具体代码,供大家参考,具体内容如下功能:可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现在一台电脑上与自己聊天.关键点:要想实现此功能必须将程序的端口固定from socket import *def udp_send(udp_socket):# 发送消息 接收用户输入内容send_mes = input("...

weixin_39636176的博客 265

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C 基于UDP实现一个简易的聊天室

引言   本文是围绕Linux udp api 构建一个简易的多人聊天室.重点看思路,帮助我们加深 对udp开发中一些api了解.相对而言udp socket开发相比tcp socket开发注意的细节要少很多. 但是水也很深. 本文就当是一个demo整合帮助开发者回顾和继续了解 linux udp开发的基本流程. 首先我们来看看 linux udp 和 tcp的异同. /* 这里

three_bird的博客 8640

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: Socket简介
下一篇: Python最长公共子串
GhostintheCode
博客等级 码龄8年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值