1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /**
- * require ./configure --enable-sockets
- */
- $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Unable to create socket\n");
- socket_set_nonblock($socket) or die("Unable to set nonblock on socket\n");
- function socket_onRead($socket)
- {
- static $i = 0;
- echo socket_read($socket, 8192)."\n";
- $i ++;
- if ($i > 10)
- {
- echo "finish\n";
- swoole_event_del($socket);
- socket_close($socket);
- }
- else
- {
- sleep(1);
- swoole_event_set($socket, null, 'socket_onWrite', SWOOLE_EVENT_READ | SWOOLE_EVENT_WRITE);
- }
- }
- function socket_onWrite($socket)
- {
- socket_write($socket, "hi swoole");
- swoole_event_set($socket, null, null, SWOOLE_EVENT_READ);
- }
- function socket_onConnect($socket)
- {
- $err = socket_get_option($socket, SOL_SOCKET, SO_ERROR);
- if ($err == 0)
- {
- echo "connect server success\n";
- swoole_event_set($socket, null, 'socket_onWrite', SWOOLE_EVENT_READ);
- socket_write($socket, "first package\n");
- }
- else
- {
- echo "connect server failed\n";
- swoole_event_del($socket);
- socket_close($socket);
- }
- }
- swoole_event_add($socket, 'socket_onRead', 'socket_onConnect', SWOOLE_EVENT_WRITE);
- @socket_connect($socket, '127.0.0.1', 9501);
|