chat

SignalR + MVC5 简单示例

孤者浪人 提交于 2020-03-12 04:07:24
原文: SignalR + MVC5 简单示例 本文和前一篇文章很类似,只不过是把 SignalR 应用在了 MVC 中 新建项目,选择 MVC 模板   安装 SignalR Install-Package Microsoft.AspNet.SignalR   在项目中添加文件夹 Hubs    在 Hubs 文件夹中添加 SignalR Hub Class (V2)   代码如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.AspNet.SignalR; namespace SignalRChatMVC5.Hubs { public class ChatHub : Hub { public void Send(string name, string message) { // Call the addNewMessageToPage method to update clients. Clients.All.addNewMessageToPage(name, message); } } }   添加 OWIN Startup Class   代码如下 using System; using System.Threading

使用SpringBoot开发群聊应用

旧时模样 提交于 2020-03-02 18:51:53
通过本文你将学习如何使用Spring Boot和WebSocket API开发一个简单的群聊天应用。 WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务器主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 很多网站为实现推送技术,所用技术都是Ajax轮询。轮询指的是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后服务器返回最新的数据给浏览器。这种传统的模式有很明显的缺点,即浏览器需要不断的向服务器发出请求,而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,这样就会浪费很多资源。HTML5定义的WebSocket协议能更好的节省服务器带宽等资源,并能够实时地进行你通讯。 详情请看 HTML5 WebSocket 。 新建项目 打开IDEA,选择 Spring Initializer 填写好相关信息: 依赖选择 Spring Web 和 WebSocket 之后选择 Finish 即可。创建完毕后,项目目录结构如下: WebSocket配置 首先我们配置一下WebSocket端点和消息代理。在 com.andy.chat 包下创建一个名为

Python os模块介绍

倾然丶 夕夏残阳落幕 提交于 2020-02-28 21:54:37
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') ? 1 os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove() 删除一个文件 os.rename("oldname","newname") 重命名文件/目录 os.stat('path/filename') 获取文件/目录信息 os.symlink('path/filename','ln_filename') 创建符号链接,源需绝对路径 os.utime() 修改时间属性 >>> import os

ZABBIX对接飞书实现带图片的报警通知

柔情痞子 提交于 2020-02-26 02:20:39
飞书提供了丰富的api来实现消息的通知,包括文本消息、图片消息、富文本消息,本次介绍使用飞书api发送富文本消息,以下是实现思路 飞书API地址: https://open.feishu.cn/document/ukTMukTMukTM/uITNz4iM1MjLyUzM 实现思路 1.根据正则获取监控项id,需要在动作中定义报警信息 2.根据获取的监控项id构造请求获取图片地址,并下载到本地 3.需要获取三个授权凭证 app_access_token :访问App资源相关接口。 tenant_access_token :访问企业资源相关接口。 user_access_token :访问用户资源相关接口。 4.根据zabbix报警的收信人手机号获取user_id,用于后面在群里@相关负责人,或者直接发给某个责任人 5.chat_id用于发送给指定的群,这里我提供两种方法获取chat_id,后面会介绍 6.上传本地图片到飞书,并获取img_key,image_key用于发送图片信息 7.传入zabbix报警消息,并艾特相关负责人发送到飞书群里或者个人 获取itemID 利用正则匹配报警信息中的itemID def get_itemid(): #获取报警的itemid itemid=re.search(r'ITEM ID:(\d+)',sys.argv[3]).group(1)

ZABBIX对接飞书实现报警通知

烈酒焚心 提交于 2020-02-26 00:37:06
飞书提供了丰富的api来实现消息的通知,包括文本消息、图片消息、富文本消息,本次介绍使用飞书api发送文本消息,以下是实现思路 飞书API地址: https://open.feishu.cn/document/ukTMukTMukTM/uITNz4iM1MjLyUzM 实现思路 1.需要获取三个授权凭证 app_access_token :访问App资源相关接口。 tenant_access_token :访问企业资源相关接口。 user_access_token :访问用户资源相关接口。 2.根据zabbix报警的收信人手机号获取user_id,用于后面在群里@相关负责人,或者直接发给某个责任人 3.chat_id用于发送给指定的群,这里我提供两种方法获取chat_id,后面会介绍 4.传入zabbix报警消息,并艾特相关负责人发送到飞书群里或者个人 获取授权凭证 1.获取 App ID 和 App Secret 登录开发者后台,在“我的应用”页面创建企业自建应用。进入企业自建应用详情页,获取App ID和App Secret。 2.获取 tenant_access_token 一种方法是通过企业自建应用方式获取,另一种是通过应用商店应用获取,这里我使用第一种方法,直接创建应用即可 3.创建完应用后可根据APP ID和 App Secret构造请求获取 def gettenant

Best way to store chat messages and files

为君一笑 提交于 2020-02-23 11:53:24
问题 I would like to know what do you think about storing chat messages in a database? I need to be able to bind other stuff to them (like files, or contacts) and using a database is the best way I see for now. The same question comes for files, because they can be bound to chat messages, I have to store them in the database too.. With thousands of messages and files I wonder about performance drops and database size. What do you think considering I'm using PHP with MySQL/Doctrine? 回答1: I think

Best way to store chat messages and files

依然范特西╮ 提交于 2020-02-23 11:53:13
问题 I would like to know what do you think about storing chat messages in a database? I need to be able to bind other stuff to them (like files, or contacts) and using a database is the best way I see for now. The same question comes for files, because they can be bound to chat messages, I have to store them in the database too.. With thousands of messages and files I wonder about performance drops and database size. What do you think considering I'm using PHP with MySQL/Doctrine? 回答1: I think

How to get the Message read/unread report in xmpp frame work?

 ̄綄美尐妖づ 提交于 2020-02-01 08:17:04
问题 HI I am developing chat app so i am using xmpp framework.Chatting is working fine but how to get the message delivery like in whatsapp, facebook etc.,i searched for that i found some document here is my code upto now i am implemented in connect Method XMPPMessageDeliveryReceipts* xmppMessageDeliveryRecipts = [[XMPPMessageDeliveryReceipts alloc] initWithDispatchQueue:dispatch_get_main_queue()]; xmppMessageDeliveryRecipts.autoSendMessageDeliveryReceipts = YES; xmppMessageDeliveryRecipts

Python chat client & Server sockets issue

十年热恋 提交于 2020-01-25 10:14:34
问题 I'm sort of new to python and this is the first time I'm using sockets, I am trying to make an application that has a client and server, A user can type into the client and it will be sent to the server which then sends it to all the other clients. I have it to a working state but whenever I try to send a second message I always get an error 'error: [Errno 10058] A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous

How to remove Author Tag from being visible in Discord's previews?

谁说胖子不能爱 提交于 2020-01-24 01:37:10
问题 When sharing a post to Discord, the preview Discord generates shows the author name and URL. We removed all information about the author but it didn't stop the author tag from showing. 回答1: add_filter( 'oembed_response_data', 'disable_embeds_filter_oembed_response_data_' ); function disable_embeds_filter_oembed_response_data_( $data ) { unset($data['author_url']); unset($data['author_name']); return $data; } 回答2: @hrak has the right idea but his answer lacks context for those of us not used