webChat

C# WPF 基于Socket的企业聊天软件IM(源码)

我是研究僧i 提交于 2020-08-14 15:07:18
两年前的一个设计,找资料时扒了出来,打开看了一下源码,那个时候的设计真是无框架无模式的设计,但对像QQ这样的聊天软件无疑是一个了解和值得参考的实例,所以大牛 请 绕过,在此跟大家分享一下,希望对正在学习Socket的童鞋们有点帮助,欢迎大家来拍砖,上图: 简介: 1.软件采用C/S模式,服务器基于.NET控制台应用程序,客户端基于.NET WPF,数据库采用SQL Server 2.在通信上采用TCP协议进行信息传递,以服务器转发方式通信,用户注册及密码管理基于B/S(ASP.NET) 3.主要完成了用户注册、用户密码修改、添加好友、删除好友;文字信息转发(支持字体)、抖动窗体、发送图片(支持GIF,但有严重问题) 服务器流程图: 客户端流程图: 实现: 1.发送文字 采用服务器转发方式发送,首先把消息通过相应的协议包装发送到服务器端,再由服务器端转发到指定的客户端,协议如下: 接收号码 字体消息头#Font 字体样式(包括颜色,大小,样式等等) 消息内容 服务器端接收到后按好友号码查找服务器端用户列表(如图服务器工作流程)获取Socket实例如果此好友在线就将信息发送过去 接收方接收到信息以后拆分数据,设置字体,显示消息内容。 2.发送图片 此模式有严重的问题,由于工作时间一直没有对其更新过,如果大家有兴趣可以自行修改,最好不要使用服务器转发模式,而是直接对客户端建立P2P连接。

Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

橙三吉。 提交于 2020-05-04 04:34:21
接入微信公众平台开发,开发者需要按照如下步骤完成: 1、填写服务器配置 2、验证服务器地址的有效性 3、依据接口文档实现业务逻辑 资料准备: 1、一个可以访问的外网,即80的访问端口,因为微信公众号接口只支持80接口。( 环境配置 ) 2、 申请一个微信公众号测试账号 。 3、编写Java基本代码。 验证服务器地址的有效性 开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数: 参数 描述 signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 timestamp 时间戳 nonce 随机数 echostr 随机字符串 开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。 signature验证结合了token,和请求中的timestamp参数,nonce参数 加密/校验流程如下: 1. 将token、timestamp、nonce三个参数进行 字典序 排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密 3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信 创建公众帐号后台接口程序 (1

Java开发微信公众号(三)---微信服务器请求消息,响应消息,事件消息以及工具处理类的封装

蓝咒 提交于 2020-05-04 03:24:38
在前面几篇文章我们讲了微信公众号环境的配置 和微信公众号服务的接入,接下来我们来说一下微信服务器请求消息,响应消息以及事件消息的相关内容,首先我们来分析一下消息类型和返回xml格式及实体类的封装。 (一)封装请求信息 首先打开微信提供的开发者文档: http://mp.weixin.qq.com/wiki/home/ ,点击左侧的“消息管理”----“接收普通消息”,在右侧我们可以看到微信普通消息类型大致有:文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息;通过查看开发者文档,我们可以发现消息类型的格式为xml,以文本消息为例: < xml > < ToUserName >< ![CDATA [toUser] ] ></ ToUserName > < FromUserName >< ![CDATA [fromUser] ] ></ FromUserName > < CreateTime > 1348831860 </ CreateTime > < MsgType >< ![CDATA [text] ] ></ MsgType > < Content >< ![CDATA [this is a test] ] ></ Content > < MsgId > 1234567890123456 </ MsgId > </ xml > 当我们接收消息的时候

Openfire+Spark+Fastpath在线客服系统开发

感情迁移 提交于 2019-12-01 13:22:53
总结如下 : 安装Openfire&Spark,Openfire服务器端,Spark为客户端; Openfire需要安装Fastpath插件,并将webchat部署到服务器; Fastpath分为服务端和Web客户端,服务端作为Openfire插件和Openfire集成,Web客户端需要单独的部署; Openfire 需要创建组,加入用户,且用户登录后,需要连接到该组; 页面嵌入客户端: <script language="JavaScript" type="text/javascript" src="http://yuming/webchat/jivelive.jsp"></script> <script> showChatButton('dengs@workgroup.域名'); </script> 需要注意 : 服务端需要开放5222端口,不然spark连接不上。 来源: oschina 链接: https://my.oschina.net/u/560530/blog/285999