function ws_send($payload, $options = array(NULL)) { $payloadString = $payload; if ($payload instanceof domDocument) { $payloadString = $payload->saveXML(); } try { $requestMessage = $payload; if (!$payload instanceof WSMessage) { $requestMessage = new WSMessage($payloadString); } $client = new WSClient($options); $client->send($requestMessage); return; } catch (Exception $e) { throw $e; } }
#!/usr/bin/php <?php include "wsframe.class.php"; include "wsclient.class.php"; $ws = new WSClient('echo.websocket.org', '/', false); //var_dump($ws); if ($ws->connect(true)) { echo "Websocket connected\n"; } //var_dump($ws); //var_dump($ws->getMetadata()); for (;;) { $text = "Text from " . date("Y-m-d H:i:s"); echo "Sending text '{$text}'\n"; if (!$ws->send(WS_FRAME_TEXT, $text, 1)) { die($ws->errstr); } do { echo "."; $rv = $ws->read(); if ($rv === false) { die($ws->errstr); } } while ($rv == 0); echo "\n"; if ($rv > 0) { $frame = $ws->getFrame(); echo "Received text '" . $frame->payload . "'\n"; } sleep(1); }
<?php /* * Copyright 2005,2008 WSO2, Inc. http://wso2.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ $requestPayloadString = <<<XML <ns1:notifyString xmlns:ns1="http://wso2.org/wsfphp/samples"><text>Hello World!</text></ns1:notifyString> XML; try { $client = new WSClient(array("to" => "http://localhost/samples/notify_service.php")); $client->send($requestPayloadString); printf("Request sent to endpoint\n"); } catch (Exception $e) { if ($e instanceof WSFault) { printf("Soap Fault: %s\n", $e->Reason); } else { printf("Message = %s\n", $e->getMessage()); } }