我正在使用Socket.io v0.9.16和Chrome 34
我正在尝试删除特定的侦听器,或取消订阅特定的订阅
像这样的东西:
socket.on('testComplete',function(data){
console.log('test complete',data);
});
function emitTest(){
console.log('emitting test');
socket.emit('test','first emit');
}
function removeListener(){
socket.removeListener('testComplete');
}
Run Code Online (Sandbox Code Playgroud)
如果我调用该emitTest
函数,然后调用该函数,我再次调用时removeListener
仍会看到该'test complete'
消息emitTest
.如果套接字功能工作,则应该删除监听器.
我正在寻找一种方法来删除实际工作的特定侦听器.
这个答案说removeListener不起作用.
这样做是否有任何不利因素:
socket.removeListener=function(name){
if(socket.$events.hasOwnProperty(name)){
delete socket.$events[name];
}
};
Run Code Online (Sandbox Code Playgroud)
我将答案标记为正确,但我在我的代码中使用了上述代码,因为它对我的设计更有效.
我试过这个:
r = Resources.getSystem().getIdentifier("ball_red","drawable","com.Juggle2");
Log.i("FindBall","R = "+r);
Run Code Online (Sandbox Code Playgroud)
还有这个:
r = Resources.getSystem().getIdentifier("com.Juggle2:drawable/ball_red", null, null);
Run Code Online (Sandbox Code Playgroud)
但'r'总是最终为零.
我从一个不是Activity的助手类中调用这一行,并且不会扩展任何东西,所以我不能简单地调用getResources()
,但我可以从我的传递它SurfaceView
.
最终,我想"ball_red"
用变量替换,但首先是第一件事.这不起作用.
com.Juggle2
确实是我的包名.drawable
是res
它所在的文件夹,确实是文件的名称ball_red
.
R.java说:
public static final int ball_red=0x7f020027;
Run Code Online (Sandbox Code Playgroud)
所以我不确定它为什么不起作用.
所以我不能使用资源,我必须传递一个上下文,我这样做:在这里:
class Collection extends SurfaceView implements SurfaceHolder.Callback {
Run Code Online (Sandbox Code Playgroud)
我正在创建我的类的新实例并将其getContext()
作为参数传递.
问题发生在
Element element = it.next();
Run Code Online (Sandbox Code Playgroud)
并且包含该行的代码位于 OnTouchEvent
for (Iterator<Element> it = mElements.iterator(); it.hasNext();){
Element element = it.next();
if(touchX > element.mX && touchX < element.mX + element.mBitmap.getWidth() && touchY > element.mY
&& touchY < element.mY + element.mBitmap.getHeight()) {
//irrelevant stuff..
if(element.cFlag){
mElements.add(new Element("crack",getResources(), (int)touchX,(int)touchY));
element.cFlag = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
所有这一切都在里面synchronized(mElements)
,这里mElements
是一个ArrayList<Element>
当我触摸它时Element
,它可能会激活cFlag
,这将创建另一个Element
具有不同属性的属性,这些属性将从屏幕上掉落并在不到一秒的时间内自行消失.这是我创建粒子效果的方式.我们可以称之为"粒子" crack
,就像构造函数中的String参数一样.
这一切都正常,直到我添加另一个主要Element
.现在我同时Elements
在屏幕上有两个,如果我触摸最新的Element
,它工作正常,并启动粒子.
但是,如果我触摸并激活cFlag
旧版本Element
,那么它会给我一个例外.
07-28 15:36:59.815: ERROR/AndroidRuntime(4026): FATAL …
Run Code Online (Sandbox Code Playgroud) 我错了+ = = = +一次多次,我想我一直都忘了,因为我不知道这两者之间的区别,只有那个给了我期望它的值,而另一个没有.
为什么是这样?
我有一堆文件藏在里面.
但由于存在冲突文件,我无法应用我的存储.我在我的藏匿处找到了有问题的文件,我想将其删除.
如何在不破坏整个内容的情况下从存储中删除单个文件?
我正在使用swfObject嵌入swf.如果我将wmode
参数设置为"direct","window"或"gpu",那么当我打开chrome开发者控制台时,swf将会消失.其他wmodes(透明和不透明)不会发生这种情况.我真的希望"直接"模式适用于硬件加速,但我需要打开控制台进行调试.
所以我已经设置了这个Amazon Web Service数据库
我正在为一个我计划使用它的应用程序编写一个旧教程.
我注意到mysql_connect在我查找时已经弃用了.
我可以用什么作为替代品?如何连接到我的亚马逊数据库?
<?
mysql_connect("localhost", "username", "password") or die ("Can't connect to database server");
mysql_select_db("videoRecorderDemo") or die ("Can't select database");
mysql_query("SET NAMES 'utf8'");
?>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'username'@'192.168.1.1' (using password: YES) in /www/zxq.net/r/e/d/red5vptest/htdocs/utility/db.php on line 2
Can't connect to database server
Run Code Online (Sandbox Code Playgroud)
无论我使用什么凭据.亚马逊的代码示例显示您以完全不同的方式进行连接也无济于事.
我正在尝试使用来自Windows Server 2008命令行的AWS CLI将所有类型为.flv的文件上传到S3存储桶.
我这样做:
aws s3 sync . s3://MyBucket --exclude '*.png'
它开始上传.png
文件.
我正在尝试遵循文档,它给出了一个示例:
Local directory contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt
'''
aws s3 sync . s3://MyBucket/MyFolder --exclude '*.txt'
upload: MyFile2.rtf to s3://MyBucket/MyFolder/MyFile2.rtf
Run Code Online (Sandbox Code Playgroud)
那么我做错了什么?
mongodb版本3.0.1
mongoose版本4.0.3
我正在尝试这样做:
groupsModel.updateQ({_id:group._id},{
$unset:{"moderators":""},
$set:{"admins":newAdmins}
})
Run Code Online (Sandbox Code Playgroud)
而且我从catch
陈述中得到一个MongoError
'\'$unset\' is empty. You must specify a field like so: {$unset: {<field>: ...}}'
但它不是空的.
moderators
但是,不在架构中,这就是为什么我要删除它.
我这样做
gm(jpgName).setFormat('jpg')
.resize(160,158)
.compress('JPEG')
.write(fs.createWriteStream(jpgName),function(err){
if(err){
console.log(err,jpgName);
res.send(400);
}else{
console.log('file formated to jpg' + jpgName);
Run Code Online (Sandbox Code Playgroud)
我明白了
{ [Error: Command failed: gm convert: Empty input file (/home/ubuntu/node/uploads/icon.jpg). ] code: 1, signal: null }
Run Code Online (Sandbox Code Playgroud)
如果我在此处写入的第一行之前停止代码,然后查看该文件,则它具有文件长度.如果我让这个过程发生(错误输出)然后查看文件,那么它的大小为0字节.
我也试过这个:
fs.stat(jpgName, function (err, stats) {
console.log('file size:',stats.size);
gm(jpgName).setFormat('jpg')
.resize(160,158)
.compress('JPEG')
.write(fs.createWriteStream(jpgName),function(err){
if(err){
console.log('console.log error writing jpg file',err,jpgName);
fs.unlink(jpgName);
callback(400);
return;
}else{//...
Run Code Online (Sandbox Code Playgroud)
而且我得到了一个文件大小,所以我知道在开始这个过程之前它并不是空的.
编辑:我现在开始这个过程,form.on('end')
所以我可以确定整个上传过程已经完成.
function formatProfileImage(req,form,file,callback){
console.log('formatting profile image');
var ext = file.name.split('.')[1].toLowerCase();
var name = encodeURIComponent(file.name.split('.')[0].toLowerCase());
var smallName = form.uploadDir+"/"+"small_"+name+".jpg";
var jpgName = …
Run Code Online (Sandbox Code Playgroud)