我的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) 我正在尝试使用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) 每当此代码运行时,我都会收到"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) 我正在尝试在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) 我有一张MySQL桌子:
ID, Col1, Col2, Col3, Col4, etc...
Run Code Online (Sandbox Code Playgroud)
ID是一个primary key并且自表创建以来一直在工作.
我想要做的是删除所有其他列完全相同的所有记录.
我希望有一个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重置连接
调用堆栈:
Run Code Online (Sandbox Code Playgroud)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
码:
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 …
android ×3
php ×3
node.js ×2
amqp ×1
android-4.0-ice-cream-sandwich ×1
duplicates ×1
java ×1
javascript ×1
mocking ×1
mysql ×1
phpunit ×1
rabbitmq ×1
sms ×1
socket.io ×1
ssl ×1
unit-testing ×1