简单的实现QQ通信功能(二)】的更多相关文章

第二部分:功能需求以及大体思路 一:功能需求: 1. 角色:登录用户. 2. 登录: (1)检查用户名和密码是否正确,正确登录成功,否则提醒用户名或密码错误. (2)登录时可以选择登录状态,送入数据库. (3)记录登录时间,送入数据库. 3. 登录成功之后显示所有的好友信息: (1)分类列出所有好友的信息(带头像). (2)如果有未读的信息,则给提示. (3)来新消息提醒. 4. 主界面功能: (1)显示登录者自己的信息. (2)可以修改自己的状态. (3)最小化之后在右下角显示小图标,双击小图…
第四部分:主界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)上面显示自己信息用一个PictureBox和两个Label,用来显示自己的头像和昵称备注名. (2)下面用了一个FlowLayoutPanel来显示好友列表,FlowDirection设置为TopDown,从上到下流式布局. (3)下面一个ComboBox用来选择自己的状态. (4)一个imageList3存放用户头像,根据登录者的头像代号进来选择需要的头像. (5)一个notifyIcon1来设置任务栏…
第三部分:登陆界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)仿照QQ的登陆界面,右上角放了三个Label,用来做关闭.最小化和设置,使用了它们的Click事件当做按钮用. (2)上面是一个pictureBox放一个图片. (3)下面用tableLayoutPanel布局. (4)tableLayoutPanel左侧图片和图片右下角的在线图放在一个Panel里,这个Panel占3行. (5)用户名用ComboBox,密码框用TextBox,登陆用了个Button.…
第五部分:聊天界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)左上角显示朋友的头像和“某某正在和某某聊天”. (2)中间的聊天窗口用了一个ListView,视图用详细信息Details,设置了一列用来显示主项,只用了其中的主项(里面加载头像和需要显示的信息及消息内容),没有设置子项信息. (3)TextBox用来写消息. (4)一个发送的Button. (5)界面用Dock布局. (6)imageList1里面放用户的ico图标,imageList2放用户头像,时…
第一部分:数据库的设计,数据集的建立 一:数据库的设计: 1.用户表:包含用户名.密码.昵称.性别.备注.状态.头像代号和最后登录时间. 2.朋友关系表:自增长列为主键列,用户名和好友名,还有朋友的状态. 3.聊天内容表:自增长列为主键列,发送者和接收者,中间有聊天内容和发送时间,还有一个标记未读已读的状态. 4. 用户状态表:用户状态表主要是有用户状态和状态名字. 5. SQL数据库内用用查询建立这几个表: use mydb go create table Users ( UserName )…
说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后,给出自己的理解和解决方案,不一定是正确的,但这些方法的确可以解决问题. 如果有人遇到同样的问题,并且看到我的文章解决,那是我的荣幸. !!!!!!但特别需要说明的是,看的越多,不明白的越多,我的看法可能是完全错误的,这些方法只是暂时解决了我的问题, !!!!!!如果有人发现了我的错误,请私信或评论告…
原:http://f543711700.iteye.com/blog/978044#bc2344608 QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!!! 一.登录 QQ客户端在局域网内,当你打开QQ登录到QQ服务器时,通过外网,你的客户端与QQ服务器建立了一个长连接.你可以用netstat -bn  看到此连接的状态是 establish 此时,在QQ服…
下面有4个基本的问答: 问题一:为什么只要可以连上互联网的计算机都可以用QQ相互建立通信,而不需要固定IP?也就是这个QQ用户端是怎样找到另一个QQ用户的,而用户在每次使用时他可能用的是不同的计算机,有着不同的IP地址. 服务器端不会以qq用户端的ip作为唯一标识,服务器端会以qq账号作为唯一标识,所以这个账号肯定是唯一的,一个账号登陆时每次都可以有不同的ip地址,但账号却相同,当账号a登陆服务器,服务器会记录下账号a的ip地址,去通知a的好友,告诉他们,a上线了和现在的ip地址,a的好友就可以…
http://blog.csdn.net/frank_good/article/details/51160027 ******************************************************************** QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!!! 一.登录 QQ客户端在局域网内,当你打开QQ登录到QQ…
转载自http://blog.csdn.net/li_xiao_ming/article/details/8106857 下面有4个基本的问答: 问题一:为什么只要可以连上互联网的计算机都可以用QQ相互建立通信,而不需要固定IP? 也就是这个QQ用户端是怎样找到另一个QQ用户的,而用户在每次使用时他可能用的是不同的计算机,有着不同的IP地址. 服务器端不会以qq用户端的ip作为唯一标识,服务器端会以qq账号作为唯一标识,所以这个账号肯定是唯一的,一个账号登陆时每次都可以有不同的ip地址,但账号却…
这是个简单的算法,是全局二值算法的一种,算法执行速度快. 算法过程简单描述如下: 对于每一个像素,做如下处理 1.计算当前像素水平和垂直方向的梯度. (two gradients are calculated  |I(x + 1, y) - I(x - 1, y)| and |I(x, y + 1) - I(x, y - 1)|);       2.取两个梯度的最大值作为权重.(weight is calculated as maximum of two gradients); 3.更新权重的和…
前言 >_<" 这里仿照窗口管理的方式将任务管理也修改成相应的管理模式,这样可以灵活的添加多个任务,而不必每次都要修改任务切换函数:此外还在任务休眠做了尝试,通过将任务挂起和唤醒从而加快运行速度~ 一.任务管理自动化 >_<" 为了仿照窗口管理模式对任务进行管理,于是在bootpack.h里做如下定义: /* mtask.c 任务切换相关*/ #define MAX_TASKS 1000 /* 最大任务数量 */ #define TASK_GDT0 3 /* 定…
一.UEditor编辑器 使用这个编辑器是需要先下载编辑器文件,记得下载的时候放入自己的网站中,既然是php中使用,自然我下载的就是php的UEditor编辑器了,然后是utf-8的 其实使用很简单,就是将你下载后中的几个js文件先引入 (1)按照文件说明,可以引入这几个文件(注意自己的文件保存路径) <script id="container" name="content" type="text/plain"> 这里是打开编辑器时显…
近期项目中集成即时聊天功能.挑来拣去,终于选择环信SDK来进行开发,选择环信的主要原因是接口方便.简洁.说明文档清楚易懂.文档有android.ios.和后台server端.还是非常全的. 环信官网:http://www.easemob.com/ 本篇文章目的主要在于说明环信Demo怎样实现即时通信的.我在集成环信SDK到我们自己开发的app之前,研究了一下环信demo的代码.看了两三天的样子,基本搞清楚来龙去脉,可是仅仅是清楚来龙去脉.要说到里面的细节可能得深一步研究,可是这就够了,已经能够把…
微信分享与QQ分享功能现在都挺常见的,可以根据一些第三方社会化分功能快速实现,不过多多少少都不怎么纯净,最好都是自己看官方文档来实现就最好了~ 一.微信分享 微信分享功能需要先在微信开放平台注册应用并获取APP ID,就可以获得微信提供的基本接口了 APP ID是对应唯一的应用包名和签名的,所以即使你的应用变了,只要包名和使用的签名key文件不变,就可以继续使用该ID 首先下载微信SDK,导入libammsdk.jar文件 声明需要的权限 <!-- 微信需要的权限 --> <uses-p…
在C#WINFORM或者是ASP.NET的WEB应用程序中,根据各种定时任务的需求,比如:每天的数据统计,每小时刷新系统缓存等等,这个时候我们得应用到定时器这个东东. .NET Framework有自带的timer,但这个类只能完成一些简单的定时操作,比如间隔多久执行什么操作.遇到一些复杂的定时任务,如从当前时间开始,多少时间后间隔重复执行,timer类处理起来就相对困难了.经过多番查找搜索,终于找到一下比较好用的任务定时器–FluentScheduler,你可以通过Nuget来引用,用程序包管…
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从一个登录页面开始(利用表单提交,action="jsp实现页面")第一步:在(mysql)数据库中建表:建立一个用户的基本信息表(用户姓名,密码,账户余额),用户转账(用户名,转账金额)的操作表第二步:登录页面:输入用户名和密码对数据库中的用户信息(login.jsp)进行验证(qq浏览器…
最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一下,希望对有这方面需求的朋友有所帮助. 一.前期准备 首先你需要登录QQ的开发平台注册一个账号,QQ互联平台官方地址:http://connect.qq.com/ 进去后注册一个开发账号,完了登录后台会有类似如下的一个后台,填好相关信息,具体可以参考下图.最后我们会有一个APP ID和APP KEY…
网页中插入QQ在线功能 本随笔记录的是网页中如何插入qq在线聊天,这里讲解的是 普通QQ在线聊天操作. 例:第一种方式  使用 tencent://message/?uin=QQ号码&Site=blog.sina.com.cn&Menu=yes 链接来操作 这里注意 img标签,这里例出三种样式的img,区别仅仅在于QQ号码后面的端口号之间 <h2>第一种链接方式</h2> <A target="_blank" href="ten…
最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一下,希望对有这方面需求的朋友有所帮助. 一.前期准备 首先你需要登录QQ的开发平台注册一个账号,QQ互联平台官方地址:http://connect.qq.com/ 进去后注册一个开发账号,完了登录后台会有类似如下的一个后台,填好相关信息,具体可以参考下图.最后我们会有一个APP ID和APP KEY…
Android BLE与终端通信(二)--Android Bluetooth基础搜索蓝牙设备显示列表 摘要 第一篇算是个热身,这一片开始来写些硬菜了,这篇就是实际和蓝牙打交道了,所以要用到真机调试哟,这篇我会把基本上要讲的概念都通俗易懂的来一遍,这样我们脑子里先有个逻辑,我们就好操作了,先看一下我们的剖析图 下面概念相关的可去原文查看:http://www.epx.com.br/artigos/bluetooth_gatt.php 一.蓝牙简介 蓝牙这个名称来自于第十世纪的一位丹麦国王哈拉尔蓝牙…
socket实现聊天功能(二) WebSocket协议是建立在HTTP协议之上,因此创建websocket服务时需要调用http模块的createServer方法.将生成的server作为参数传入socket.io的方法中.如下代码: var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')…
通过WebRTC实现实时视频通信(一) 通过WebRTC实现实时视频通信(二) 通过WebRTC实现实时视频通信(三) 在上一篇文章中,我们讲解了WebRTC的概述.历史.安全性和开发者工具.接下来我们通过WebRTC的三个API来具体的讲解构建WebRTC的流程,这篇文章会对MediaStream进行讲解. MediaStream (别名 getUserMedia) MediaStream API 代表媒体数据流的同步.举个例子,从相机获取的视频流的同步和跟踪. 理解MediaStream最简…
概述 iOS蓝牙BLE4.0通信功能,最近刚学的苹果,为了实现蓝牙门锁的项目,找了一天学习了下蓝牙的原理,亲手测试了一次蓝牙的通信功能,结果成功了,那么就把我学习的东西分享一下. 详细 代码下载:http://www.demodashi.com/demo/10635.html 一.蓝牙常见名称和缩写 BLE:(Bluetooth low energy)蓝牙4.0设备因为低耗电 BLE:(Bluetooth low energy)蓝牙4.0设备因为低耗电 Central:中心设备,发起蓝牙连接的设…
QQ登陆功能的实现2 由于看到园子里有朋友说需要讲解和剖析实现的步骤,前面的QQ登陆实现只有代码,所以这篇补上 1.  分析 1). 当运行QQ.exe后会出现qq登陆界面的窗体 2). 我们用spy++分析窗体可以看到窗体有2个子控件,一个是账号输入框,一个密码框 3). 再用spy++做事件分析,让spy++挂载hook后点解登陆按钮可以发现,按钮点击的坐标 2.  上面我们详细分析了登陆过程的操作步骤需要的信息,现在来实现 1). 首先运行QQ,使用 Process pro = Proce…
本文主要说明一下开发者如何在QQ互联创建测试应用,从而分配给我们一套APP ID和APP KEY,在我们平时学习的时候使用. 一.QQ互联注册开发者 要想使用QQ登陆的功能,首先你必须是腾讯开发者.腾讯搞了一大堆的开放平台,有点乱.如果你还不是腾讯开发者,先去QQ互联网站https://connect.qq.com注册一下开发者. 可以选择企业或者个人,进行开发者注册 准备一个个人邮箱和手机号 手持身份证正面照 以上所填信息真实完整,通常1个工作日即可审核完成,审核结果通过邮件通知.审核之后才能…
背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HTTP-FLV.HLS等流格式再分发给用户端进行直播,不管身处何地都可以通过移动通讯设备查看监控设备,这些功能是EasyNVR互联网直播系统研发和设计的初衷和基础功能.另外EasyNVR增值功能是可通过接口二次集成在自己的原有的web业务系统实现网页.H5无插件实时直播,但是用户一直困惑于如何获取直播…
Python基于socket模块实现UDP通信功能示例 本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端     import socket #使用IPV4协议,使用UDP协议传输数据 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口和端口号,空字符串表示本机任何可用IP地址 s.bind(('', 5000)) while True:   data, addr…
前言: 我们在浏览移动端web页面的时候,经常会用到下拉刷新. 现在我们用原生的js实现这个非常简单的下拉刷新功能. (温馨提示:本文比较基础,功能也很简单.写的不好的地方,希望大神提点一二.) 一.创建简单的html页面: 假设代码里的float-box是一个主页面. 二.封装下拉刷新的功能模块: (1)首先创建一个Slide构造函数,用来初始化属性与函数. function Slide(dom){ this.start_y=null;//手指滑动屏幕的初始位置 this.end_y=null…
使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神 前言 接上一篇 使用 EPPlus 封装的 excel 表格导入功能 (一) 前一篇的是大概能用但是不一定好用的版本 后来我又重新封装扩展了一下 支持自定义更多东西(但是封装地是否有必要我就说不清了) 上个版本的问题 上个版本封装之后的使用代码: public ICollection<TestDto> ExcelImport(IFormFile file) { var config = Exce…