udp聊天器

import socket

def send_msg(udp_socket):
    """获取键盘数据,并将其发送给对方"""
    # 1. 从键盘输入数据
    msg = input("\n请输入要发送的数据:")
    # 2. 输入对方的ip地址
    dest_ip = input("\n请输入对方的ip地址:")
    # 3. 输入对方的port
    dest_port = int(input("\n请输入对方的port:"))
    # 4. 发送数据
    udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port))

def recv_msg(udp_socket):
    """接收数据并显示"""
    # 1. 接收数据
    recv_msg = udp_socket.recvfrom(1024)
    # 2. 解码
    recv_ip = recv_msg[1]
    recv_msg = recv_msg[0].decode("utf-8")
    # 3. 显示接收到的数据
    print(">>>%s:%s" % (str(recv_ip), recv_msg))

def main():
    # 1. 创建套接字
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 2. 绑定本地信息
    udp_socket.bind(("", 7890))
    while True:
        # 3. 选择功能
        print("="*30)
        print("1:发送消息")
        print("2:接收消息")
        print("="*30)
        op_num = input("请输入要操作的功能序号:")

        # 4. 根据选择调用相应的函数
        if op_num == "1":
            send_msg(udp_socket)
        elif op_num == "2":
            recv_msg(udp_socket)
        else:
            print("输入有误,请重新输入...")

if __name__ == "__main__":
    main()

原文地址:https://www.cnblogs.com/georgexu/p/10909749.html

时间: 2024-10-11 17:54:10

udp聊天器的相关文章

UDP聊天器 服务器版 支持离线消息 支持净网过滤

#服务器端 #========================================================== #导入模块import socketimport threadingimport re#设置全局变量flagflag = 0#设置离线消息列表msg_list = []#创建udp套接字udp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#绑定ip端口udp_server_socke

socket网络编程之udp聊天器

1 from socket import * 2 3 def send_msg(udp_socket): 4 '''发送消息''' 5 # 获取要发送的内容 6 dest_ip = input("请输入对方IP:") 7 dest_port = int(input("请输入对方port:")) 8 send_data = input("请输入要发送的消息:") 9 udp_socket.sendto(send_data.encode('utf-8

案例:多任务版udp聊天器

说明 编写一个有2个线程的程序 线程1用来接收数据然后显示 线程2用来检测键盘数据然后通过udp发送数据 要求 实现上述要求 总结多任务程序的特点 参考代码: import socket import threading def send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" while True: # 1. 从键盘输入数据 msg = input("\n请输入要发送的数据:") # 2

多线程的UDP聊天器

# pcjimport socketimport threading# def recv_msg(udp_socket):# while True:# recv_date = udp_socket.recvfrom(1024)# print(recv_date[0].decode("gbk"),recv_date[1])## def send_msg(udp_socket,dest_ip,dest_port):# while True:# send_date = input("

python使用udp实现聊天器

聊天器简易版 使用udp实现一个简单的聊天器程序,要求如下: 在一个电脑中编写1个程序,有2个功能 1.获取键盘数据,并将其发送给对方 2.接收数据并显示 并且功能数据进行选择以上的2个功能调用 例子程序如下: import socket def send_message(udp_socket): # 输入对方的ip/port dest_ip = input("请输入对方的ip:") dest_port = int(input("请输入对象的port:")) # 读

java UDP聊天与文件传输

package rgy.com.UDP3; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.io.Fil

UDP聊天室

pub.h   定义了一些消息的结构和宏变量 #ifndef _PUB_H_ #define _PUB_H_ #include <list> #include <algorithm> using namespace std; // C2S #define C2S_LOGIN            0x01 #define C2S_LOGOUT            0x02 #define C2S_ONLINE_USER        0x03 #define MSG_LEN  

TCP、UDP练习题 (UDP聊天程序、TCP上传文本文件和图片文件)

TCP.UDP编程练习 TCP ☆上传文本文件 读取一个本地文本文件,将数据发送到服务端,服务器端对数据进行存储. 存储完毕后,给客户端一个提示. 一.解题思路 客户端:(1) 创建Socket对象----用服务器的ip+端口号 (2)读取文件内容 (3)通过socket把内容发送给服务器端(把socket中的输出流包装成"打印流"来进行发送文本,是一种比较安全的输出方式,不会出现失真.) 服务器端:(1) 创建服务器socket---ServerSocket (2)通过ServerS

大致了解写java聊天器所需要的技术

今天刚刚开通博客,希望它陪我一起成长. 未来的时间要完成java聊天器的小项目.今天先简单查阅了一下需要用到的技术内容. 1.对聊天数据的保存,需要用到数据库 2.实现消息的接收和发送,需要用到网络 3.保持网络连接,需要用到线程 4.聊天器还需要有界面 以上是粗略的技术内容,还要弄清楚客户端和服务器端分别的任务,聊天器实现的就是客户端和服务器端的交互.找到了一张示意图 如下 服务器端的主要功能: a)         在特定的端口上进行监听,等待客户端连接. b)        默认端口为30