socket.io与workerman的问题
有谁玩过这两个东西吗?这两个都能使用websocket协议,
而且workerman服务器的onConnect都已经执行了,说明客户端和服务器是能联系的。
但是为什么刚一连接上马上就断开了呢?而且服务器也没有收到客户端发送的信息。
workerman服务端代码:
<code>use Workerman\Worker; require_once '../Workerman/Autoloader.php'; $worker = new Worker('websocket://0.0.0.0:8484'); $ws_worker->count = 4; $worker->onConnect = function($connection) { echo "new connection from ip " . $connection->getRemoteIp() . "\n"; }; $worker->onMessage = function($connection, $data) { var_dump($data); $connection->send('receive success'); }; $worker->onError = function($connection, $code, $msg) { echo "error $code $msg\n"; }; $worker->onBufferFull = function($connection) { echo "bufferFull and do not send again\n"; }; $worker->onBufferDrain = function($connection) { echo "buffer drain and continue send\n"; }; $worker->onClose = function($connection) { echo "connection closed\n"; }; $worker->onWorkerStop = function($worker) { echo "Worker stopping...\n"; }; $worker->onWorkerStart = function($worker) { echo "Worker starting...\n"; }; </code>
客户端代码:用的是socket.io,这是一个android应用
<code>private Socket mSocket; { try { mSocket = IO.socket("websocket://192.168.0.11:8484"); } catch (URISyntaxException e) {} } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_activity1); mSocket.connect(); mSocket.emit("hello", "hello world"); mSocket.emit("emit something"); mSocket.send("send something"); mSocket.send("hello","thanks"); } </code>
为什么会出现刚连接就断开的情况呢,信息也没有收到。这面这些是服务器收到的信息。
<code>new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 </code>
回复内容:
有谁玩过这两个东西吗?这两个都能使用websocket协议,
而且workerman服务器的onConnect都已经执行了,说明客户端和服务器是能联系的。
但是为什么刚一连接上马上就断开了呢?而且服务器也没有收到客户端发送的信息。
workerman服务端代码:
<code>use Workerman\Worker; require_once '../Workerman/Autoloader.php'; $worker = new Worker('websocket://0.0.0.0:8484'); $ws_worker->count = 4; $worker->onConnect = function($connection) { echo "new connection from ip " . $connection->getRemoteIp() . "\n"; }; $worker->onMessage = function($connection, $data) { var_dump($data); $connection->send('receive success'); }; $worker->onError = function($connection, $code, $msg) { echo "error $code $msg\n"; }; $worker->onBufferFull = function($connection) { echo "bufferFull and do not send again\n"; }; $worker->onBufferDrain = function($connection) { echo "buffer drain and continue send\n"; }; $worker->onClose = function($connection) { echo "connection closed\n"; }; $worker->onWorkerStop = function($worker) { echo "Worker stopping...\n"; }; $worker->onWorkerStart = function($worker) { echo "Worker starting...\n"; }; </code>
客户端代码:用的是socket.io,这是一个android应用
<code>private Socket mSocket; { try { mSocket = IO.socket("websocket://192.168.0.11:8484"); } catch (URISyntaxException e) {} } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_activity1); mSocket.connect(); mSocket.emit("hello", "hello world"); mSocket.emit("emit something"); mSocket.send("send something"); mSocket.send("hello","thanks"); } </code>
为什么会出现刚连接就断开的情况呢,信息也没有收到。这面这些是服务器收到的信息。
<code>new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 connection closed new connection from ip 192.168.0.3 </code>
https://github.com/walkor/phpsocket.io
这里有php版本的socket.io,应该也是基于workerman做的
socket.io的客户端封装了自己的协议,不能直接连workman吧?

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

There are four ways to adjust the WordPress article list: use theme options, use plugins (such as Post Types Order, WP Post List, Boxy Stuff), use code (add settings in the functions.php file), or modify the WordPress database directly.

WordPress IP blocking plugin selection is crucial. The following types can be considered: based on .htaccess: efficient, but complex operation; database operation: flexible, but low efficiency; firewall: high security performance, but complex configuration; self-written: highest control, but requires more technical level.

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

The steps to create a custom header in WordPress are as follows: Edit the theme file "header.php". Add your website name and description. Create a navigation menu. Add a search bar. Save changes and view your custom header.

WordPress editing dates can be canceled in three ways: 1. Install the Enable Post Date Disable plug-in; 2. Add code in the functions.php file; 3. Manually edit the post_modified column in the wp_posts table.

A step-by-step guide to replacing a header image of WordPress: Log in to the WordPress dashboard and navigate to Appearance >Theme. Select the topic you want to edit and click Customize. Open the Theme Options panel and look for the Site Header or Header Image options. Click the Select Image button and upload a new head image. Crop the image and click Save and Crop. Click the Save and Publish button to update the changes.

WordPress Error Resolution Guide: 500 Internal Server Error: Disable the plug-in or check the server error log. 404 Page not found: Check permalink and make sure the page link is correct. White Screen of Death: Increase the server PHP memory limit. Database connection error: Check the database server status and WordPress configuration. Other tips: enable debug mode, check error logs, and seek support. Prevent errors: regularly update WordPress, install only necessary plugins, regularly back up your website, and optimize website performance.

To log in to a WordPress website account: Visit the login page: Enter the website URL plus "/wp-login.php". Enter your username and password. Click "Login". Verification Two-step Verification (optional). After successfully logging in, you will see the website dashboard.
