SharedObject对象聊天室
Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象)
本篇是视频聊天,会议开发实例系列文章的第1篇,该系列所有文章链接如下:
http://www.cnblogs.com/aierong/archive/2008/12/30/Flex.html#sp
1.了解
关于Flex和Fms3的解释可以看
http://www.cnblogs.com/aierong/archive/2008/12/30/flex1.html
2.开发准备
Flex的开发工具(ide):Flex builder 3的安装可以看
http://www.cnblogs.com/aierong/archive/2008/12/26/MyCrack.html
Fms3
adobe官方站提供了最大10个连接数的免费开发版(零售版为4500美元)
实在找不到可以留言给我
安装fms3时,一路next ,中间会要你输入序列号,不输入就是免费的开发版,最后安装结束前会要你输入以后进入fms后台管理的账号密码,比较重要,不要乱输。
Flash Player Debug(Flash Player调试版)
在Flex builder 3的Debug模式下调试代码用的,adobe官方站提供了免费下载
3.了解SharedObject对象
一旦sharedObject 对象中的数据(即聊天记录)被任何一个client 所修改,那么fms 会把当前的sharedObject 中的最新聊天记录发送给所有的client (广播),使得client 聊天窗口中显示的数据刷新。
4.开始code
具体步骤:
(1)fms安装目录下,找到application文件夹,下面已经有2个目录了,不管它,在application再新建一个文件夹test_myApp,这个就相当于我们聊天室服务端工程的根目录了(以后的sharedObject 对象就是存放于此)
(2)启动fms
在安装目录下,找到tools文件夹,点击StartServerService.bat就可以启动fms。该文件夹内还有一个StopServerService.bat是停止fms的
其实启动fms也可以去windows的开始菜单里面,Start Adobe Flash Media Server 3.0.1和Start Flash Media Administration Server 3.0.1
(3)登录fms
在安装目录下,找到fms_adminConsole.swf,点击后,输入安装时填写的用户名和密码,即可登录成功
(4)打开Flex builder 3,建立一个flex project,程序类型是web类型(便于调试)
(5)在主mxml中拖动控件,界面如下:
具体代码如下:
<mx:TextArea x="33" y="10" height="159" width="366" id="txt_content"/>
<mx:TextInput x="33" y="177" width="62" id="txt_nickname"/>
<mx:Label x="103" y="179" text="说"/>
<mx:TextInput x="146" y="177" width="185" id="txt_message"/>
<mx:Button x="334" y="177" label="send" id="btn_send"/>
(6)
开始在<mx:Script>
<![CDATA[
]]>
</mx:Script>
标签组内编写代码
导入包和定义变量如下:
import mx.collections.ArrayCollection;
import mx.controls.Alert;
private var myNetConnection:NetConnection;
private var serverApp:String ="rtmp://192.168.0.249/test_myApp";
private var talk_so:SharedObject;
myNetConnection :flex 与fms 链接用的对象
serverApp :定义了fms 服务的地址使用的是rtmp 协议,ip 加上server 工程根目录
talk_so:fms 下的SharedObject 对象
(7)定义聊天记录对象Message
package vo
{
public class Message
{
public function Message()
{
}
public var nickname:String;
public var msg:String;
public var time:Date;
}
}
所有的聊天记录都是被存放在一个名为msgList 的集合对象中。每条聊天记录,我是专门定义了Message 对象的
(8)定义一个方法,用于交换数组中元素
private function convertArrayCollection(arrNew:ArrayCollection,arrOld:ArrayCollection):void
{
arrNew.removeAll();
for(var i:int=0;i<arrOld.length ;i++)
{
arrNew.addItemAt(arrOld.getItemAt(i),i);
}
}
(9)定义界面字体大小为12(中文要大小为12才显示得比较清楚),初始方法为init
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" creationComplete="init()">
(10)实现init()
private function init():void
{
btn_send.addEventListener(MouseEvent.CLICK,btnSenClickHandler);
myNetConnection = new NetConnection();
myNetConnection.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
myNetConnection.connect(serverApp);
}
代码说明:
给按钮添加鼠标点击事件btnSenClickHandler
初始化NetConnection
给myNetConnection添加netStatus事件netStatusHandler
(11)实现netStatusHandler
private function netStatusHandler(evt:NetStatusEvent):void
{
trace(evt.info.code); //调试代码用
if ( evt.info.code =="NetConnection.Connect.Success" )
{
talk_so = SharedObject.getRemote("talk",myNetConnection.uri,true);
talk_so.addEventListener(SyncEvent.SYNC,talkSoSyncHandler);
talk_so.connect(myNetConnection);
}
else
{
Alert.show("链接失败"+evt.info.code);
}
}
代码说明:
在NetConnection对象报告其状态或错误条件时调度netStatusHandler。
netStatus 事件包含一个 info 属性,该属性是一个包含事件特定信息(例如,连接尝试成功还是失败)的信息对象。
如果与fms 连接成功后就开始初始化remote SharedObject 对象
SharedObject.getRemote()说明:
SharedObject.getRemote() 以创建一个在服务器上永久保留的远程共享对象,如电话簿。 每次客户端对共享对象进行更改时,修改后的数据可供当前或以后连接到该对象的所有客户端使用。 如果还在本地永久保留了该对象,并且客户端在未连接到服务器时更改了数据,下次客户端连接到远程共享对象时,则会将数据复制到该对象。
若要创建远程共享对象,请调用 getRemote(),然后调用 connect() 以将远程共享对象连接到服务器
SharedObject.getRemote()参数说明:
第1个参数:远程共享对象的名称。 该名称可以包含正斜杠 (/);例如,work/addresses 是合法名称。 共享对象名称中不允许使用空格,也不允许使用下面这些字符: ~ % & \ ; : " ' , > ? ? #
其实就是SharedObject 对象生成文件的名字,SharedObject 文件的后缀为*.fso ,因此这里生成就是talk.fso ,生成的位置就在test_myApp 下的某个文件夹中。
第2个参数:将存储共享对象的服务器的 URI。 此 URI 必须与传递给 connect() 方法的 NetConnection 对象的 URI 相同。在本程序中就是rtmp://192.168.0.249/test_myApp
第3个参数:指定共享对象的数据属性的特性是本地永久储存还是远程永久储存。
true,指定只有服务器上的共享对象是永久性的。
false,指定客户端或服务器上的共享对象不是永久性的。false 的话SharedObject 对象是的存放在内存中的,如果test_myApp 这个server 被停止则内存中的SharedObject 对象就被清空。
另一个重要的代码是
talk_so.addEventListener(SyncEvent.SYNC,talkSoSyncHandler);
这是给远程的SharedObject 对象加入同步事件的监听,一旦远程的SharedObject 对象被任何一个client 修改,那么fms 就会把最新版本的SharedObject 对象广播给所有的client ,以达到所有client 数据同步的目的,这样就会触发client 端的SyncEvent.SYNC 事件。client 端只有加入对这一事件的监听才能知道公共的SharedObject 对象被修改了,才能做出反应获得最新版本的信息。
(12)实现talkSoSyncHandler
private function talkSoSyncHandler(evt:SyncEvent):void
{
txt_content.text="";
if ( talk_so.data.msgList!=null )
{
var tmp:ArrayCollection = new ArrayCollection();
convertArrayCollection(tmp,talk_so.data.msgList as ArrayCollection);
for(var i:int=0;i<tmp.length ;i++)
{
var message:Object = tmp.getItemAt(i);
var fullMsg:String=message.nickname+"在"+message.time.toTimeString()+"说:"+message.msg;
txt_content.text=txt_content.text+fullMsg+"\n";
}
}
}
代码说明:
这个回调函数要做的就是把talk. 这个SharedObject 中的msgList 对象取出,然后遍历出里面所有的Message 对象,刷新显示控件显示所有记录。
(13)实现按钮单击代码,发送聊天记录
private function btnSenClickHandler(evt:MouseEvent):void
{
var arr:ArrayCollection = new ArrayCollection();
if ( talk_so.data.msgList==null )
{
arr = new ArrayCollection();
}
else
{
convertArrayCollection(arr,talk_so.data.msgList as ArrayCollection);
}
var obj:Message = new Message();
obj.nickname=txt_nickname.text;
obj.msg=txt_message.text;
obj.time = new Date();
arr.addItem(obj);
talk_so.setProperty("msgList",arr);
txt_message.text="";
}
代码说明:
如果SharedObject-talk 中的msgList 不存在(说明你是聊天室的第一位使用者)就新建一个集合对象,然后将Message 对象add 到这个集合中去。
如果msgList 已经存在了,则获取这个集合对象,把新的聊天记录往后面插入。
最后使用SharedObject.setProperty("name",value) 这个函数将你更新好的聊天记录列表写入到公共的SharedObject 对象中去即可。
调用setProperty() 以更改数据对象的属性。 服务器将更新这些属性,并调度 sync 事件,并将这些属性发回到连接的客户端。 这就是为什么每个客户端都能看到一样的聊天记录。
(14)运行程序
(15)fms服务器情况
我们可以看到客户端的链接情况和SharedObject情况
(16)代码下载
http://files.cnblogs.com/aierong/fmsDemo.rar
您收到代码后,请回到文章下面留言告之一下!要是没收到,我可以再发!
提供代码是为了互相学习,一起探讨!请大家多交流!
1.要是对代码有什么疑问,可以在文章的评论区留言,我会尽我所能答复您!
2.要是您在运行代码的过程中发现bug,或者是您有什么好的建议和意见,也可以在文章的评论区留言给我,我会及时更正!
评论区使用提示:
评论区留言(使用高级评论)是可以贴图片的,要是有难以描述的问题,可以贴图片和文字一起说明
谢谢!
A.Sql Server2005 Transact-SQL 新兵器学习
B.MCAD学习
C.代码阅读总结
D.ASP.NET状态管理
E.DB(数据库)
F.WAP
G.WinForm
H.Flex
FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统((Flex,Fms3联合开发))<视频聊天,会议开发实例8>
Sql Server2005 Transact-SQL 新兵器学习总结之-总结
MS SQL数据库备份和恢复存储过程(加强版本)
sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结)
ASP.NET2.0国际化/本地化应用程序的实现总结(多语言,多文化页面的实现)
WAP开发资料站(最新更新)
自定义格式字符串随笔 (IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
Mcad学习笔记之异步编程(AsyncCallback 委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)
Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法)
Mcad学习笔记之序列化(2进制和Soap序列 化)
Mcad学习笔记之委托再理解(delegate的构造器,BeginInvoke,EndInvoke,Invoke4个方法的探讨)
ASP.NET状态管理之一(概括篇)
Flex,Fms学习笔记
作者:aierong
出处:http://www.cnblogs.com/aierong
贴子以"现状"提供且没有任何担保,同时也没有授予任何权利!
本文版权归作者所有,欢迎转载!
原创技术文章和心得,转载注明出处!这也是对原创者的尊重!
引用aierong:
引用扬仔:
#244楼[楼主]2009-12-26 08:07 | aierong
引用扬仔:
luren jis: 我遇到这样一个问题,就是上面的代码我整个调试通了~但是就是在我的服务器端不能创建fso文件~因此,只要客户端一旦提交对话,其他客户端的内容就清空,只有自己客户端看的见说的内容,请问这个问题要怎么解决呢
把setProperty中的ArrayCollection改成Array,String等都可以,就是用ArrayCollection出现以上情况,具体原因不清楚
对了 你的FlashPlayer播放器 什么版本
代码除了IP地址其他的都没改动,FlashPlayer用的是FlashPlayer10
我用的是fb3
楼主,我的也出现和杨仔一样的问题;环境是:fms3.5+flex3
我用的是fms3
luren jis: 我遇到这样一个问题,就是上面的代码我整个调试通了~但是就是在我的服务器端不能创建fso文件~因此,只要客户端一旦提交对话,其他客户端的内容就清空,只有自己客户端看的见说的内容,请问这个问题要怎么解决呢
我用的环境是fms3.5+flex4出现同样的问题,调试发现talk_so.setProperty("msgList",arr);的第二个参数传String或者例子代码中单个Message对象都没问题,但只要传入ArrayCollection类型就会出现以上问题,并且日志中提示Thu 04:45:34 PM: Assert failed in ..\FlashPlayer6_02_FlashCom\shared_tcserver\tcparser.cpp line 109
很郁闷,到现在还没解决,刚开始学fms就碰到这么头疼的问题。这么多人都出现一样的问题估计是环境支持的事,跟代码好像没太大关系。
我也出现了这个情况,我用的是fms3.5+flex3。我发现fms控制台里点击talk对象,右上角会出现一个冒号,内容是:failed to make a debug connection,please check that the application in debug model。 问题会不会出在这里?
引用扬仔:
luren jis: 我遇到这样一个问题,就是上面的代码我整个调试通了~但是就是在我的服务器端不能创建fso文件~因此,只要客户端一旦提交对话,其他客户端的内容就清空,只有自己客户端看的见说的内容,请问这个问题要怎么解决呢
我用的环境是fms3.5+flex4出现同样的问题,调试发现talk_so.setProperty("msgList",arr);的第二个参数传String或者例子代码中单个Message对象都没问题,但只要传入ArrayCollection类型就会出现以上问题,并且日志中提示Thu 04:45:34 PM: Assert failed...
我当时开发用的是fms3.0学习版
和flex3
引用扬仔:
#42楼[楼主]2009-03-02 08:13 | aierong
--引用--------------------------------------------------
luren jis: 我遇到这样一个问题,就是上面的代码我整个调试通了~但是就是在我的服务器端不能创建fso文件~因此,只要客户端一旦提交对话,其他客户端的内容就清空,只有自己客户端看的见说的内容,请问这个问题要怎么解决呢
我也遇到一样一样的问题,第一次用fms就碰壁,郁闷很长时间一直没解决。我用的环境是fms3.5+flex4
奇怪 我...
我的也是这种问题,我用的是FMS3.5+FlashDevelop。把ArrayCollection类换成Array类就好了(方法和属性也要修改哦)
循环
公告
搜索
最新随笔
- 1. Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)
- 2. 创建Windows服务(Windows Services)N种方式总结
- 3. .NET中对串口(COM)读写操作方式汇总
- 4. Sql Server2008 Transact-SQL 新兵器学习总结之-用户定义表类型和日期,时间数据类型
- 5. Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)
- 6. Flex Air开发SQLite小结,SQLite开发工具及SQLite与Sql Server的语法差异汇总
- 7. 开源Flex Air版免费激情美女视频聊天室,免费网络远程视频会议系统((Flex,Fms3联合打造))<视频聊天,会议开发实例6>
- 8. 免费网络远程视频会议系统,免费美女多人视频聊天(附源码下载)(Flex和Fms3开发)<视频聊天,会议开发实例5>
- 9. Flex组件的项目渲染器(ItemRenderer)使用总结
- 10. 推荐几个Adobe Flex Builder 3的插件(代码格式化和fms服务器通讯文件(main.asc)编写)
我的标签
随笔分类(156)
随笔档案(122)
- 2012年10月 (1)
- 2012年5月 (1)
- 2009年8月 (1)
- 2009年3月 (1)
- 2009年2月 (7)
- 2009年1月 (12)
- 2008年12月 (13)
- 2008年11月 (7)
- 2008年9月 (3)
- 2008年8月 (4)
- 2008年7月 (1)
- 2007年12月 (3)
- 2005年11月 (1)
- 2005年10月 (5)
- 2005年5月 (4)
- 2005年4月 (5)
- 2005年3月 (9)
- 2005年2月 (3)
- 2005年1月 (9)
- 2004年12月 (3)
- 2004年10月 (3)
- 2004年8月 (1)
- 2004年7月 (18)
- 2004年6月 (3)
- 2004年5月 (2)
- 2004年4月 (2)
相册
.net(中文)
AJAX JQuery
BLOG个人站点
WEB开发
其他站(技术)
积分与排名
- 积分 - 646888
- 排名 - 90
最新评论
- 1. Re:Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象)
- 楼主你好 我在做实时聊天的时候接受的rtmp视频播放的flashplayer只要是debug版本无论是是桌面还是网页就会直接崩溃 你有没有遇到类似的问题啊?这是我的一个rtmp链接
rtmp://rtmp.aiwaya.cn/yunva/781 - --叶落风凌
- 2. Re:Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)
- 跨域的问题是怎么处理的
- --寻道问天
- 3. Re:Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- 很好!
- --czyX陈默
- 4. Re:Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)
- 总结的老好了,致敬
- --想做大哥很多年
- 5. Re:ASP.NET状态管理之三(隐藏域HiddenField)
- 学习了,Thanks.
- --xiaoliang10000
- 6. Re:免费美女视频聊天,多人视频会议功能加强版本(Fms3和Flex开发(附源码))
- 楼主,为什么我下载你的代码后视频正常但是文字聊天不能。A用户发送消息后只有A的屏幕有显示,其他用户都没有,但是如果B用户发送,那么A用户发送过的消息A屏幕一刷新就变空白。
- --fengma
- 7. Re:免费网络远程视频会议系统,免费美女多人视频聊天(附源码下载)(Flex和Fms3开发)
- 斑竹,最近我在研究这个,一直想做一对一的视频,最好能发起视频邀请,对方能选择接听和挂断的,望指教!!
- --sanhuaihuai
- 8. Re:Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象)
- fms都启动了, 点recodr报51行null
- --CrazyPastor
- 9. Re:Fms3和Flex打造在线视频录制和回放
- 楼主,我在点击回放视频完成后画面就是视频最后一帧.如何才能让它放完视频后自动回到实时的自己的视频画面啊?
- --fengma
- 10. Re:自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- 我就是想问下 实现的ICustomFormatter接口的Format是在什么情况下会执行?
- --薄樱
阅读排行榜
- 1. Flex,Fms3相关文章索引(2009-3-25更新)(34867)
- 2. 开源Flex Air版免费激情美女视频聊天室,免费网络远程视频会议系统((Flex,Fms3联合打造))<视频聊天,会议开发实例6>(29149)
- 3. MSN在线状态代码(24237)
- 4. 免费网络远程视频会议系统,免费美女多人视频聊天(附源码下载)(Flex和Fms3开发)<视频聊天,会议开发实例5>(23940)
- 5. Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象)<视频聊天,会议开发实例1>(21367)
- 6. sqlserver字符串拆分(split)方法汇总(20316)
- 7. Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)<视频聊天,会议开发实例3>(17584)
- 8. WAP开发资料站(最新更新)(15928)
- 9. Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1(15574)
- 10. Flex组件的项目渲染器(ItemRenderer)使用总结(15396)
评论排行榜
- 1. 免费网络远程视频会议系统,免费美女多人视频聊天(附源码下载)(Flex和Fms3开发)<视频聊天,会议开发实例5>(765)
- 2. 开源Flex Air版免费激情美女视频聊天室,免费网络远程视频会议系统((Flex,Fms3联合打造))<视频聊天,会议开发实例6>(693)
- 3. Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)<视频聊天,会议开发实例3>(350)
- 4. 免费美女视频聊天,多人视频会议功能加强版本(Fms3和Flex开发(附源码))<视频聊天,会议开发实例4>(344)
- 5. Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象)<视频聊天,会议开发实例1>(289)
- 6. Fms3和Flex打造在线视频录制和回放<视频聊天,会议开发实例2>(107)
- 7. 推荐几个Adobe Flex Builder 3的插件(代码格式化和fms服务器通讯文件(main.asc)编写)(87)
- 8. Flex,Fms3相关文章索引(2009-3-25更新)(71)
- 9. WAP开发资料站(最新更新)(46)
- 10. ASP.NET2.0国际化/本地化应用程序的实现总结(多语言,多文化页面的实现) (43)
推荐排行榜
- 1. 创建Windows服务(Windows Services)N种方式总结(10)
- 2. Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)(7)
- 3. .NET中对串口(COM)读写操作方式汇总(6)
- 4. Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)(3)
- 5. 免费网络远程视频会议系统,免费美女多人视频聊天(附源码下载)(Flex和Fms3开发)<视频聊天,会议开发实例5>(3)
- 6. sqlserver字符串拆分(split)方法汇总(3)
- 7. asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料(2)
- 8. Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象)<视频聊天,会议开发实例1>(2)
- 9. flex,fms名称解释和学习资源(2)
- 10. Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)<视频聊天,会议开发实例3>(2)
SharedObject对象聊天室的更多相关文章
- ASP.NET 使用application和session对象写的简单聊天室程序
ASP.Net中有两个重要的对象,一个是application对象,一个是session对象. Application:记录应用程序参数的对象,该对象用于共享应用程序级信息. Session:记录浏览 ...
- (ASP.net)利用Application对象制作简单聊天室
1.共四个页面,Default.aspx默认主页,Default2.aspx聊天室 default3.aspx显示用户列表,default4.aspx显示聊天内容,添加一个Global.asax全局程 ...
- 基于select的python聊天室程序
python网络编程具体参考<python select网络编程详细介绍>. 在python中,select函数是一个对底层操作系统的直接访问的接口.它用来监控sockets.files和 ...
- 用SignalR 2.0开发客服系统[系列2:实现聊天室]
前言 交流群:195866844 上周发表了 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 这篇文章,得到了很多帮助和鼓励,小弟在此真心的感谢大家的支持.. 这周继续系列2,实现聊天室 ...
- 基于React,Redux以及wilddog的聊天室简单实现
本文主要是使用ReactJs和Redux来实现一个聊天功能的页面,页面极其简单.使用React时间不长,还是个noob,有不对之处欢迎大家吐槽指正. 还要指出这里没有使用到websocket等技术来实 ...
- 使用WebRTC搭建前端视频聊天室——信令篇
博客原文地址 建议看这篇之前先看一下使用WebRTC搭建前端视频聊天室——入门篇 如果需要搭建实例的话可以参照SkyRTC-demo:github地址 其中使用了两个库:SkyRTC(github地址 ...
- 使用WebRTC搭建前端视频聊天室——入门篇
http://segmentfault.com/a/1190000000436544 什么是WebRTC? 众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转.比如现在有两 ...
- 使用Servlet和JSP实现一个简单的Web聊天室系统
1 问题描述 利用Java EE相关技术实现一个简单的Web聊天室系统,具体要求如下. (1)编写一个登录 ...
- 分享一个基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室
实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询.长连接+长轮询.基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSoc ...
随机推荐
- 第六篇:GPU 并行优化的几种典型策略
前言 如何对现有的程序进行并行优化,是 GPU 并行编程技术最为关注的实际问题.本文将提供几种优化的思路,为程序并行优化指明道路方向. 优化前准备 首先,要明确优化的目标 - 是要将程序提速 2 倍? ...
- 关于MCU的烧录,下载与其他接口的比较(一)
今天呢,犯了一个很严重的错误,我不知道这会产生什么样的影响,但我知道,如果我以后再没有具体的了解,仔细认真地观察,认证,只会滑到无底的深渊.做技术来不得半点虚假,切记一知半解,凡事都要弄得清楚明白,认 ...
- vue2.0+element-ui(01简单点的单页面)
前言: 在<Vue.js权威指南>刚出版的时候,自己就作为一名前端粉捧了一把场,可是真是应了那句“出来混,总是要还的“这句话了,那时候信心满满的买来书想要认真研究,最终却还是把它搁浅了.直 ...
- php学习八:封装
一:在php中,用class关键字来创建一个类,即进行封装:在类里面有成员属性和方法行为组成: 1.成员属性:用关键字var来声明,可以给初始值也可以不给;现在var废弃,用public来声明,pub ...
- ubuntu下code::blocks编译运行一个简单的gtk+2.0项目
在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt ...
- 5个基于Web的建模工具
本文介绍 5 款很棒的直接可以在浏览器使用的建模工具,无需单独安装软件. 1. Creately提供在线图表和协助功能,包含多种建模语言(UML)支持,这里有一个简单的演示:here 2.Diagra ...
- 【PHP】php 生成条形码
1.什么是条形码? 百度百科定义:条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称 ...
- Struts2中的OGNL详解 《转》
首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的 ...
- 增量式PID的matlab实现
首先,增量式PID的实现公式: 式中 Δe(k)=e(k)-e(k-1) 进一步可以改写成 式中 . . 为了便于理解,也可写成: 式中e(k)为第k次采样时的设定值与实际值的差,e(k-1 ...
- Python大数据:jieba 中文分词,词频统计
# -*- coding: UTF-8 -*- import sys import numpy as np import pandas as pd import jieba import jieba. ...