首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

我的聊天程序(局域网)

服务器应用 2.99KB 21 需要积分: 1
立即下载

资源介绍:

先开server再开client
import pygame import socket # Add this import from easygui import * ipconfig=enterbox('你的IP要脸那?布吉岛用一个空格') if ipconfig == ' ': ipconfig = 11451 else : ipconfig=int(ipconfig) msgbox('bind在%s端口'%ipconfig) pygame.init() screen_width, screen_height = screen_size = (640, 640) # Make the screen taller to fit more messages font = pygame.font.Font(None, 50) bg_color = (0, 0, 0) text_color = (255, 255, 255) space_character_width = 8 message_spacing = 8 # Connect to the server while 1: try: connection = socket.create_connection(('localhost', ipconfig)) except : ipconfig = enterbox('你的IP要脸那?布吉岛用一个空格') if ipconfig == ' ': ipconfig = 11451 else: ipconfig = int(ipconfig) msgbox('bind在%s端口' % ipconfig) else: msgbox('ohhhhhh trueeeeeeee I will sleep again ohhhhhh') break connection.setblocking(False) screen = pygame.display.set_mode(screen_size) pygame.key.set_repeat(300, 100) def message_to_surface(message): words = message.split(' ') word_surfs = [] word_locations = [] word_x = 0 word_y = 0 text_height = 0 for word in words: word_surf = font.render(word, True, text_color, bg_color) if word_x + word_surf.get_width() > screen_width: word_x = 0 word_y = text_height word_surfs.append(word_surf) word_locations.append((word_x, word_y)) word_x += word_surf.get_width() + space_character_width if word_y + word_surf.get_height() > text_height: text_height = word_y + word_surf.get_height() surf = pygame.Surface((screen_width, text_height)) surf.fill(bg_color) for i in range(len(words)): surf.blit(word_surfs[i], word_locations[i]) return surf # New code to keep track of past messages message_surfs = [] def add_message(message): if len(message_surfs) > 50: message_surfs.pop(0) message_surfs.append(message_to_surface(message)) # New code to read from the socket text_from_socket = b'' def read_from_socket(): global connection, text_from_socket, running try: data = connection.recv(2048) # Handle the error caused by non-blocking mode except BlockingIOError: return # Stop the program when the connection closes if not data: running = False for char in data: char = bytes([char]) if char == b'\n': add_message(text_from_socket.strip().decode('utf-8')) # Convert the message from the server from `bytes` to a string, and draw it text_from_socket = b'' else: text_from_socket += char # New function to draw all the messages on the screen def redraw_screen(): screen.fill(bg_color) typing_surf = message_to_surface("> " + typing_text) y = screen_height - typing_surf.get_height() screen.blit(typing_surf, (0, y)) message_index = len(message_surfs) - 1 while y > 0 and message_index >= 0: message_surf = message_surfs[message_index] message_index -= 1 y -= message_surf.get_height() + message_spacing screen.blit(message_surf, (0, y)) pygame.display.flip() running = True typing_text = "" clock = pygame.time.Clock() while running: clock.tick(60) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_BACKSPACE: if typing_text: typing_text = typing_text[:-1] elif event.key == pygame.K_RETURN: # New code to send a message to the server add_message('You: ' + typing_text) connection.send(typing_text.encode('utf-8') + b"\r\n") typing_text = "" else: typing_text += event.unicode # Update the main loop to call our new functions read_from_socket() redraw_screen() pygame.quit() connection.close() # Close the connection when we're done

资源文件列表:

chat_server_client.zip 大约有2个文件
  1. chat_server_client/chat_server.py 3.07KB
  2. chat_server_client/networked_chat_client.py 4.04KB
0评论
提交 加载更多评论
其他资源 VTK-STL格式的3D模型文件
瓦力机器人的3D模型文件
STL格式的星舰3D模型文件
可以用于VTK显示,或者3D打印
STL格式的汽车发动机3D模型文件
可用于VTK学习,或者直接使用3D打印机打印出来
Metal TrainingMetal Training
Metal TrainingMetal Training
机器视觉检测综合设计实 手写数字识别 包括报告文档
本项目致力于开发和优化手写数字识别系统,利用机器视觉和深度学习技术,旨在提高识别准确率和处理效率。项目包含以下主要内容: 数据集构建: 数据集分为训练集和测试集,每个集分别包含大量手写数字图像,覆盖从0到9的所有数字。图像经过预处理,以确保数据的一致性和质量,为模型训练提供坚实基础。 模型设计与训练: 项目采用卷积神经网络(CNN)进行手写数字识别。CNN 模型通过多层卷积和池化操作,自动提取图像中的特征,并使用全连接层进行分类。 在模型训练过程中,项目应用了多种数据增强技术,如旋转、缩放、平移等,以提高模型的泛化能力。 为了优化模型性能,项目引入了交叉验证和超参数调优技术,确保模型在不同数据集上的稳定表现。 性能评估与测试: 使用独立的测试集对模型进行评估,通过混淆矩阵、准确率、召回率、F1 分数等多种指标全面评估模型的性能。 项目还进行了一系列对比实验,分析不同模型架构、超参数设置对识别效果的影响,找出最优配置。
机器视觉检测综合设计实 手写数字识别 包括报告文档
机器视觉检测综合设计实 手写数字识别 包括报告文档
机器视觉检测综合设计实 手写数字识别 包括报告文档
知识领域:Web开发 技术关键词:Tomcat 10.1.24 内容关键词:安装包 用途:服务器部署
资源描述: 内容概要:本资源提供了最新稳定版的Apache Tomcat服务器安装包,专为需要快速、高效部署Java Web应用的开发者设计。此安装包针对当前主流Java版本进行了优化,确保了更好的性能和兼容性。 适用人群:适合所有层次的Java Web开发者,包括初学者和有经验的专业人士。同样适用于需要在多种操作系统上部署和管理Web服务的系统管理员和IT专业人员。 使用场景及目标:无论是在个人开发环境中搭建学习项目,还是在企业级服务器上部署商业应用,本安装包都能帮助用户简化部署流程,提升开发和部署效率。目标是减少配置时间,快速进入开发状态。 其他说明:安装包精心准备了所有必要的组件和依赖库,开箱即用。为了获得最佳体验,请按照文档中的系统要求检查您的硬件和软件环境。我们还提供了常见问题解答和进阶配置指南,帮助用户解决安装和配置过程中可能遇到的问题。 字体和格式:为了提升文档的可读性和专业性,我们使用了清晰的标题结构和适当的文本格式。关键信息通过加粗或斜体进行了突出显示,确保用户能够快速抓住重点。
Matlab电动汽车选址
本项目通过 MATLAB 实现电动汽车充电站的最优选址,旨在提高电动汽车充电网络的覆盖率和使用效率。项目包含以下主要内容: Voronoi 图计算:利用 Voronoi 图划分城市区域,每个区域代表一个充电站的服务范围。这种方法确保了每个充电站能最大化地覆盖其周围的需求点,从而优化充电网络布局。 成本优化分析:基于充电站的建设和运营成本,项目实现了最优选址方案。通过计算每个候选点的建设成本、维护费用及预期收益,项目可以识别出总成本最低的选址组合。 区域分析:项目结合地理信息系统(GIS)数据,对不同城市区域的电动汽车保有量、人口密度、交通流量等因素进行分析,从而提供科学的选址依据。这确保了选址方案不仅具有经济可行性,还能满足实际需求。 数据可视化:项目通过 MATLAB 的强大数据处理和可视化功能,将计算结果以图表形式展示,方便决策者直观了解充电站布局方案的优劣。
帝国CMS7.5后台模板美化版GBK+UTF.zip
帝国CMS7.5响应式后台美化模板 支持GBK+UTF 1、支持帝国CMS7.5版本,GBK、UTF编码 2、采用ZUI前端框架开发 3、响应式布局,兼容多终端分辨率,包含:19201080,1400900,1366768,1024768,10241366,7681024,414736,375667等分辨率 4、兼容桌面浏览器: IE 8+ Opera 12+ Firefox 8+ Safari 6+ Chrome 20+ , 兼容移动浏览器 IOS 6+ Safari Chrome for Android 4+ Chrome for iOS Windows 10 Mobile Edage 5、增加多个便捷功能:后台样式切换、全屏预览模式、小屏预览模板、临时锁屏、标签页功能
帝国CMS7.5后台模板美化版GBK+UTF.zip