我正在尝试使用asmack库在Android上实现一个简单的jabber messenger.这是代码:
public boolean login()
{
if (connection != null && connection.isConnected())
{
Log.i("XMPP", connection.getHost());
try
{
connection.login(USERNAME, PASSWORD);
}
catch (XMPPException e)
{
e.printStackTrace();
return false;
}
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我在connection.login()之后得到的异常(连接看起来很好):
service-unavailable(503)
at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:77)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:239)
at org.jivesoftware.smack.Connection.login(Connection.java:353)
at com.someapp.networking.XMPPMessenger.login(XMPPMessenger.java:60)
at com.someapp.XMPPService.onCreate(XMPPService.java:33)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2780)
at android.app.ActivityThread.access$3200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
可能是什么错误?
我正在尝试使用Pyramid和socket.io框架创建一个简单的WebSocket应用程序.服务器端代码:
from pyramid.response import Response
from pyramid_socketio.io import SocketIOContext, socketio_manage
import gevent
def includeme(config):
'''
This method is called on the application startup.
'''
config.add_route('socket.io', 'socket.io/*remaining')
class ConnectIOContext(SocketIOContext):
# self.io is the Socket.IO socket
# self.request is the request
def msg_connect(self, msg):
print "Connect message received", msg
self.msg("connected", hello="world")
# Socket.IO implementation
@view_config(route_name="socket.io")
def socketio_service(request):
print "Socket.IO request running"
print request
retval = socketio_manage(ConnectIOContext(request))
return Response(retval)
Run Code Online (Sandbox Code Playgroud)
客户代码:
<script>
var socket = null;
$(document).ready(function() {
socket = new io.Socket(null, null);
socket.on('connect', …Run Code Online (Sandbox Code Playgroud) 我需要创建一个后台进程,它将等待传入的命令并执行它们.这是代码:
instance_tuple.popen = subprocess.Popen(['python',\
os.path.join(config['scripts_dir'],\
'instance_script.py')],\
stdin = subprocess.PIPE,\
stdout = subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)
处理功能代码:
if __name__ == '__main__':
config = dict()
is_config_valid = False
print 'Hello from instance process'
while True:
cmd_str = raw_input()
if (cmd_str.strip() != ''):
print 'received %s' % cmd_str
command = json.loads(cmd_str)
print 'received command: %s' % str(command)
sys.stdout.flush()
if command['name'] == 'set_variable':
name = command['args'][0]
value = command['args'][1]
config[name] = value
is_config_valid = validate_instance_dict(config)
elif is_config_valid:
if (command['name'] == 'init_model'):
config['instance'].init_model()
elif (command['name'] == 'get_tree'):
tree …Run Code Online (Sandbox Code Playgroud) 使用0mq在进程之间建立双向通信的最正确方法是什么?我需要创建几个后台进程,它们将等待来自主进程的命令,执行一些计算并将结果返回给主进程.
我正在尝试使用Pyramid框架实现电子邮件确认.这是在数据库中确认用户并将其重定向到主页的代码.
user = DbSession.query(User).filter_by(email=email).one()
if user.approved:
return {'msg': _('Already approved')}
if user.check_approve_token(hash):
user.approved = True
self.request.session.save()
self.request.session['user'] = user
return HTTPFound(self.request.route_url('home'),
headers=remember(self.request, user.guid))
Run Code Online (Sandbox Code Playgroud)
当我尝试self.request.session['user']从另一个处理程序获取变量时,我得到一个DetachedInstanceError: Instance <User at 0x42902f0> is not bound to a Session; attribute refresh operation cannot proceed.据我所知,由于User实例的修改,引发了这个错误.我该如何解决?
提前谢谢,伊万.
在android中使用XML-RPC的最简单方法是什么?我尝试了http://code.google.com/p/android-xmlrpc/,但它没有编译,看起来已经放弃了.
你能告诉我我的类构造函数有什么问题吗?码:
CVector::CVector (int size_)
{
if (size_ > 0)
{
this->size = size_;
this->data = new double[size];
for (int i = 0; i < size; i++)
{
(*this)(i) = i;
}
}
cout << "constructor end" << endl;
return;
}
Run Code Online (Sandbox Code Playgroud)
用法示例:
tvector = CVector(6);
Run Code Online (Sandbox Code Playgroud)
"constructor end"输出后我收到访问冲突.
更新:构造函数调用不正确.运用
CVector tvector(6);
工作.
python ×4
android ×2
java ×2
pyramid ×2
asmack ×1
c++ ×1
constructor ×1
javascript ×1
popen ×1
smack ×1
socket.io ×1
sqlalchemy ×1
subprocess ×1
websocket ×1
xml-rpc ×1
zeromq ×1