python编写简易聊天室实现局域网内聊天功能
本文实例为大家分享了python实现局域网内聊天功能的具体代码,供大家参考,具体内容如下
功能:
可以向局域网内开启接收信息功能的ip进行发送信息,我们可以写两段端口不同的代码来实现在一台电脑上与自己聊天.
关键点:
要想实现此功能必须将程序的端口固定
from socket import * def udp_send(udp_socket): # 发送消息 接收用户输入内容 send_mes = input("请输入发送内容:") # 接收用户输入ip ip = input("请输入ip地址:") # 接收用户输入端口号 port = int(input("请输入端口号")) # 发送消息 内容进行编码 udp_socket.sendto(send_mes.encode("gbk"), (ip, port)) def udp_recvfrom(udp_socket): # 接收消息 最多4096个字节 get_mes, get_ip = udp_socket.recvfrom(4096) print("收到来自%s的消息:%s" % (str(get_ip), get_mes.decode("gbk"))) def main(): # 创建套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 设置固定端口 udp_socket.bind(("", 8889)) while True: print("*" * 50) print("----------无敌聊天器----------") print("1.发送消息") print("2.接收消息") print("0.退出系统") print("*" * 50) user = input("请输入要执行的操作:") if user == "1": udp_send(udp_socket) elif user == "2": udp_recvfrom(udp_socket) elif user == "0": break else: print("输入有误") # 关闭套接字 udp_socket.close() if __name__ == "__main__": main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python实现简单多人聊天室
本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下 刚开始学习python,写了一个聊天室练练手. Server.py import socket,select,thread; host=socket.gethostname() port=5963 addr=(host,port) inputs=[] fd_name={} def who_in_room(w): name_list=[] for k in w: name_list.append(w[k]) ret
-
python socket多线程通讯实例分析(聊天室)
本文实例讲述了python socket多线程通讯方法.分享给大家供大家参考,具体如下: #!/usr/bin/evn python """ 这是一个Socket+多进程的例子(聊天服务端) """ import socket import threading # 处理中文数据用的 encoding = "GBK" def HKServer(client, addr): """ 与客户端时实通讯函
-
python基于twisted框架编写简单聊天室
本文实例为大家分享了使用python的twisted框架编写一个简单的聊天室具体代码,供大家参考,具体内容如下 下面是基本架构 代码: # -*- coding:utf-8 -*- from twisted.internet.protocol import Factory from twisted.protocols.basic import LineReceiver from twisted.internet import reactor user = {} class ChatReci(Li
-
小小聊天室Python代码实现
相对于Java方式的聊天室,Python同样可以做得到.而且可以做的更加的优雅.想必少了那么多的各种流的Python Socket,你一定会喜欢的. 至于知识点相关的内容,这里就不多说了. UDP方式 服务器端 # coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/7/7' # __Desc__ = 创建一个简单的套接字监听请求 import socket HOST = '192.168.59.255' PORT = 9
-
Python实现基于C/S架构的聊天室功能详解
本文实例讲述了Python实现基于C/S架构的聊天室功能.分享给大家供大家参考,具体如下: 一.课程介绍 1.简介 本次项目课是实现简单聊天室程序的服务器端和客户端. 2.知识点 服务器端涉及到asyncore.asynchat和socket这几个模块,客户端用到了telnetlib.wx.time和thread这几个模块. 3.所需环境 本次课中编写客户端需要用到wxPython,它是一个GUI工具包,请先使用下面的命令安装: $ sudo apt-get install python-wxt
-
基于python实现聊天室程序
本文实例为大家分享了python实现简单聊天室的具体代码,供大家参考,具体内容如下 刚刚接触python编程,又从接触java开始一直对socket模块感兴趣,所以就做了一个聊天室的小程序. 该程序由客户端与服务器构成,使用UDP服务,服务器端绑定本地IP和端口,客户端由系统随机选择端口. 实现了群发.私发.点对点文件互传功能. 客户端自建了一个类继承了Cmd模块,使用自定义的命令command进行操作,调用相应的do_command方法. 使用json模块进行消息的封装序列化,在接收方进行解析
-
Python聊天室实例程序分享
上一篇 我们学习了简单的Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的理解. 一.聊天室程序需求 我们要实现的是简单的聊天室的例子,就是允许多个人同时一起聊天,每个人发送的消息所有人都能接收到,类似于 QQ 群的功能,而不是点对点的 QQ 好友之间的聊天.如下图: 我们要实现的有两部分: Chat Server:聊天服务器,负责与用户建立 Socket 连接,并将某个用
-
python实现多人聊天室
本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下 一.目的 以实现小项目的方式,来巩固之前学过的Python基本语法以及相关的知识. 二.相关技术 1.wxpython GUI编程 2.网络编程 3.多线程编程 4.数据库编程 5.简单的将数据导出到Excel表 三.存在的漏洞以及不足 1.由于数据库编码的问题,无法使用中文. 2.在客户端关闭后,其相关的线程仍然存在于服务器的用户线程队列中,所以服务器会错误地往已关闭的客户端传送信息. 3.客户端初始登录并加载
-
Python聊天室程序(基础版)
本文实例为大家分享了Python聊天室程序的具体代码,供大家参考,具体内容如下 客户端代码: # Filename: socketClient.py import socket import sys import threading # Client GUI from tkinter import * import Pmw # Create a TCP/IP socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Con
-
python实现文本界面网络聊天室
Hello大家好,今天说一下python的socket编程,基于python的socket通信的文本框网络聊天 首先,实验环境: 一个云服务器(我们这里是用的阿里云,大家将就自己的条件吧): 类Unix操作系统(如Mac OS,Linux等): Windows系列操作系统. 在这里,我使用的是阿里云,Mac OSX,Windows XP(在mac上的一个虚拟机). Server.py # -*- coding: utf-8 -*- #!/usr/local/bin/python import s
-
Python socket实现简单聊天室
本文实例为大家分享了Python socket实现简单聊天室的具体代码,供大家参考,具体内容如下 服务端使用了select模块,实现了对多个socket的监控.客户端由于select在Windows下只能对socket使用,所以使用了多线程来实现对客户端输入和socket连接的同时监控.注意这里的socket设置为了非阻塞.这样就实现了在一个线程中同时进行socket的接收和发送. 服务器代码: # -*- coding: utf-8 -*- import socket,select conne
-
python3实现多线程聊天室
使用python3创建多线程聊天室,供大家参考,具体内容如下 import threading import socket #socket udpSocket = None #计数器 num = 1 #1.创建接受,发送方法 def inMessage(): global num while True: #等待接收消息 data = udpSocket.recvfrom(1024) #4. 将接收到的数据再发送给对方 udpSocket.sendto(data[0], data[1]) #打印获
-
Python Socket编程之多线程聊天室
本文为大家分享了Python多线程聊天室,是一个Socket,两个线程,一个是服务器,一个是客户端. 最近公司培训,要写个大富翁的小程序,准备做个服务器版的,先练练手. 代码: #coding = utf-8 import socket import threading class UdpServer(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.address = ('127.0.0.1'
随机推荐
- Javascript 构造函数 实例分析
- 百度ueditor组件上传图片后如何设置img里的alt属性
- Windows2003 MSSQL 安全设置教程
- Java 使用json-lib处理JSON详解及实例代码
- oracle中使用group by优化distinct
- jsp+servlet+jdbc实现对数据库的增删改查
- 浅析php中抽象类和接口的概念以及区别
- Spring Boot修改内置Tomcat默认端口号的示例
- C#入门教程之集合ArrayList用法详解
- C++针对bmp格式解析实例
- Java重写与重载之间的区别
- SQL Server中的SQL语句优化与效率问题
- Bootstrap缩略图的创建方法
- 二级连动的另一个不错的实现方法
- 定义select的边框颜色
- CSS 渐变背景的6个演示代码
- xflash里的hello world程序
- batchcollect pagecollect来自官方杰奇jieqi定时采集配置方法参数详解第1/2页
- Java的作业调度类库Quartz基本使用指南
- JNI语言基本知识