Comments (2)
Great.
Changed the code a bit and now its up and running. Thanks!
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$http = new React\Http\Server($socket);
$connector = new Ratchet\Client\Connector($loop);
$connector('ws://127.0.0.1:1338')
->then(function (Ratchet\Client\WebSocket $conn) use ($http) {
$conn->on('message', function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($conn) {
echo "Empfangen von anderem Client oder dem Server: {$msg}\n";
//$conn->close();
});
$conn->on('close', function ($code = null, $reason = null) {
echo "Connection closed ({$code} - {$reason})\n";
});
$http->on('request', function ($request, $response) use ($conn, $http) {
print_r($request->getQuery());
if ($request->getMethod() == "POST") {
$param = $request->getQuery();
$conn->send($param['data']);
$response->writeHead(200, array('Content-Type' => 'text/plain'));
$response->end("Daten gesendet...\n" . print_r($request->getMethod()));
} else {
$response->writeHead(501, array('Content-Type' => 'text/plain'));
$response->end("Not Implemented!\n" . print_r($request->getMethod()));
}
});
}, function (\Exception $e) use ($loop) {
echo "Could not connect: {$e->getMessage()}\n";
$loop->stop();
});
$socket->listen(5000);
$loop->run();
from http.
http and pawl within same loop
I haven't used this personally, but this should absolutely be possible 👍
One of the core issues with your code is this subtle error here, which should likely fix most of the problems you're having:
-$http->on('request', function ($request, $response, $connector, $loop) {
+$http->on('request', function ($request, $response) use ($connector, $loop) {
I would like in detail NOT open and close a socket connection with every POST.
That's how you've coded this currently :-) You'll likely want to move to the connector call out of the request handler so that you only create a connection once instead of opening a new one for each incoming request.
I hope this helps! 👍
from http.
Related Issues (20)
- Memory leak? HOT 8
- Possible memory leak when using Queue HOT 6
- HTTP client: Expose maximum time to keep alive idle connection with persistent connections HOT 5
- Cannot create socket server HOT 3
- HTTP client on specific network shows poor performance HOT 5
- HTTP client: Simplify HTTP file uploads and submitting forms HOT 1
- EmptyBodyStream as request body not working HOT 3
- Regression: object with __toString no longer being accepted as request body in Browser post HOT 1
- getFragment() returns empty string, username:password@hostname not supported HOT 1
- Unable to properly cancel request (Browser) HOT 8
- URI Behind Reverse Proxy Incorrect Scheme HOT 5
- Laravel + websockets: Unhandled promise rejection with TypeError HOT 1
- MAX_CHUNK_HEADER_SIZE size increase HOT 4
- Random HTTP Requests don't resolve HOT 2
- Body Stream Closes when running Browser Request HOT 3
- The psr/http-message v2 is not supported HOT 1
- Add support for psr/http-message v2
- Memory leak when using persistent connections HOT 3
- Roadmap to reactphp/http v3
- ServerInstance socket not closing on unexpected program termination or loop stop HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from http.