小编gig*_*sey的帖子

内存泄漏与socket.io + node.js

我的Node.js应用程序似乎有内存泄漏.我快速构建它,我的JavaScript不是太强大,所以这可能很容易.

我已经完成了一些堆转储,它是字符串object?泄漏记忆,每5分钟约1MB.我扩展了String,它实际上是String.Array?

堆栈: 在此输入图像描述

#!/usr/local/bin/node

var port = 8081;

var io = require('socket.io').listen(port),
sys = require('sys'),
daemon = require('daemon'),
mysql = require('mysql-libmysqlclient');

var updateq = "SELECT 1=1";
var countq = "SELECT 2=2";

io.set('log level', 2);


process.on('uncaughtException', function(err) {
  console.log(err);
});

var connections = 0;

var conn = mysql.createConnectionSync();
dbconnect();

io.sockets.on('connection', function(client){ 
  connections++;
  client.on('disconnect', function(){ connections--;  }) 
});

process.on('exit', function () {
    console.log('Exiting');
    dbdisconnect();
});

function dbdisconnect() {
     conn.closeSync();
}

function dbconnect() {
    conn.connectSync('leet.hacker.org','user','password');
}


function update() {
    if (connections …
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io

33
推荐指数
1
解决办法
4952
查看次数

SMS_RECEIVED没有在冰淇淋三明治上工作?

我正在尝试使用android.provider.Telephony.SMS_RECEIVED来捕获传入的短信.

我构建了一个简单的应用程序,它适用于2.x,但是当我在我的4.0模拟器或设备上试用它时,它不起作用.

有任何想法吗?

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.giggsey.MyFirstApp" android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">


    <receiver android:name=".MyFirstApp">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
        </intent-filter>
    </receiver>
</application>
<uses-sdk android:minSdkVersion="9" />


<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
</manifest>
Run Code Online (Sandbox Code Playgroud)

MyFirstApp.java

public class MyFirstApp extends BroadcastReceiver {

    private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
    private static final String TAG = "MyFirstApp";

    @Override
    public void onReceive(Context context, Intent intent) {
         Log.i(TAG, "Intent recieved: " + intent.getAction());
    }
}
Run Code Online (Sandbox Code Playgroud)

sms android android-intent android-4.0-ice-cream-sandwich

21
推荐指数
1
解决办法
3670
查看次数

Android SSL - 无对等证书

每当此代码运行时,我都会收到"No Peer Certificate"错误.

SSL证书有效,从Namecheap(PositiveSSL)购买.它之前有CA crt,并且在Android浏览器中打开正常.

HTTP服务器:nginx

码:

public void postData() {

// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

nameValuePairs.add(new BasicNameValuePair("string", "myfirststring"));

try {

   HttpPost post = new HttpPost(new URI("https://example.com/submit"));
    post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    KeyStore trusted = KeyStore.getInstance("BKS");
    trusted.load(null, "".toCharArray());
    SSLSocketFactory sslf = new SSLSocketFactory(trusted);
    sslf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(new Scheme ("https", sslf, 443));
    SingleClientConnManager cm = new SingleClientConnManager(post.getParams(),
            schemeRegistry);

    HttpClient client = new DefaultHttpClient(cm, post.getParams());

    // Execute HTTP Post Request
    @SuppressWarnings("unused")
    HttpResponse result = client.execute(post);

} catch (ClientProtocolException …
Run Code Online (Sandbox Code Playgroud)

ssl android

16
推荐指数
1
解决办法
5万
查看次数

Android,PHP和node.js之间的加密和解密

我正在尝试在Android上加密Java中的字符串,然后使用PHP和/或node.js对其进行解密

我已经尝试了http://www.androidsnippets.com/encrypt-decrypt-between-android-and-php,但只返回返回的十六进制字符串的前半部分.

我希望加密类型是带有128位密钥的AES(如果可能的话,更高).

加密密钥也需要是可配置的,所以我的问题可能与我填充字符串的方式有关.

Java的

String.format("%1$-" + n + "s", s)
Run Code Online (Sandbox Code Playgroud)

PHP

$key = str_pad($key,16);
Run Code Online (Sandbox Code Playgroud)

完整的Java代码:

    package com.giggsey.test;


    import java.security.NoSuchAlgorithmException;

    import javax.crypto.Cipher;
    import javax.crypto.NoSuchPaddingException;
    import javax.crypto.spec.IvParameterSpec;
    import javax.crypto.spec.SecretKeySpec;

    import android.util.Log;


    public class SimpleCrypto {

            private String iv = "fedcba9876543210";//Dummy iv (CHANGE IT!)
            private IvParameterSpec ivspec;
            private SecretKeySpec keyspec;
            private Cipher cipher;

            private String SecretKey = "0123456789abcdef";//Dummy secretKey (CHANGE IT!)

            public void doKey(String key)
            {
                    ivspec = new IvParameterSpec(iv.getBytes());

                    key = padRight(key,16);

                    Log.d("hi",key);

                    keyspec = new SecretKeySpec(key.getBytes(), "AES");

                    try …
Run Code Online (Sandbox Code Playgroud)

php java android encryption-symmetric node.js

10
推荐指数
1
解决办法
4069
查看次数

如何从MySQL表中删除重复的行

我有一张MySQL桌子:

ID, Col1, Col2, Col3, Col4, etc...
Run Code Online (Sandbox Code Playgroud)

ID是一个primary key并且自表创建以来一直在工作.

我想要做的是删除所有其他列完全相同的所有记录.

mysql duplicates

6
推荐指数
1
解决办法
2万
查看次数

PHP AMQP Consume()fork做实际工作

我希望有一个PHP脚本从RabbitMQ队列中消耗(使用PECL AMQP模块),然后分叉以执行实际工作.

我有代码@ https://gist.github.com/giggsey/6666e67bb0e090eeb5f0

但是当我运行它时,我得到:

11296密钥:USER.12392 ObjectLength:74分叉11296 at 2013-03-19

14:16:22 11277 ack()PHP致命错误:未捕获异常

'AMQPConnectionException',在tmp/forking.php中有消息'Connection reset by peer':10

堆栈跟踪:

0 tmp/forking.php(10):AMQPQueue-> consume(Array)

1 tmp/forking.php(102):test-> run()

在第10行的tmp/forking.php中抛出2 {main}

致命错误:第10行的tmp/forking.php中未捕获的异常'AMQPConnectionException',消息'由peer重置连接'

AMQPConnectionException:第10行的tmp/forking.php中的peer重置连接

调用堆栈:

0.0006     665008   1. {main}() tmp/forking.php:0

0.0007     665456   2. test->run() tmp/forking.php:102

0.0359     670504   3. AMQPQueue->consume() tmp/forking.php:10
Run Code Online (Sandbox Code Playgroud)

php amqp rabbitmq

4
推荐指数
1
解决办法
1177
查看次数

PHPUnit Mock似乎没有调用公共函数

码:

MyMockClass.php

<?php
class MyMockClass
{
    public function __construct($l)
    {
        // Do nothing with it
    }

    protected function loadData($var)
    {
        // Do something, it doesn't matter what
        return null;
    }

    public function onEvent($key)
    {
        return $this->loadData($key);
    }
}
Run Code Online (Sandbox Code Playgroud)

MockTest.php

<?php
class MockTest extends \PHPUnit_Framework_TestCase
{
    public function testPHPUnitMock()
    {
        $mock = $this->getMockBuilder('MyMockClass')->setConstructorArgs(array(true))->getMock();
        $mock->expects($this->once())->method('loadData')->with('TEST')->will($this >returnValue(true));

        $this->assertEquals(true, $mock->onEvent('TEST'));
    }

}
Run Code Online (Sandbox Code Playgroud)

当我运行此测试时,它失败,输出如下:

PHPUnit_Framework_ExpectationFailedException : Failed asserting that null matches expected true.
Expected :true
Actual   :null
Run Code Online (Sandbox Code Playgroud)

我正在尝试执行onEvent,这反过来执行我嘲笑的功能,并改变了结果.但是这个onEvent功能似乎没有被调用.如果我把mail()(或类似的东西)放入onEvent …

php phpunit unit-testing mocking

2
推荐指数
1
解决办法
746
查看次数