# 原生tcp請求
self::log('xml:');
self::log($data);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket < 0){
$create_error = socket_strerror($socket);
self::log('creat fail:'.$create_error);
ptrace("創(chuàng)建tcp客戶端失敗".$create_error);
return false;
}
ptrace($socket);
self::log($socket);
$con = socket_connect($socket, $ip,$port);
self::log($con);
if($con < 0){
$connect_error = socket_strerror($result);
self::log('cconnect fail:'.$create_error);
ptrace("連接服務器失敗:".$create_error);
socket_close($socket);
return false;
}
if (!socket_write($socket, $data, strlen($data))) {
$write_error = socket_strerror($socket);
self::log('write fail:'.$create_error);
ptrace("發(fā)送通信失?。?quot;.$create_error);
goto error;
}
self::log('等待接收數(shù)據(jù)');
while ($out = socket_read($socket, 8192)) {
self::log('return:');
self::log($out);
socket_close($socket);
return $out;
}
error:
$errcode = socket_last_error();
$error_msg = socket_strerror($errcode);
self::log('關閉時錯誤碼:'.$errcode);
self::log('錯誤信息:'.$error_msg);
socket_close($socket);
return false;
# swoole
list($ip, $port) = explode(':', $url);
$client = new \swoole_client(SWOOLE_SOCK_TCP);
$client->set(array(
'open_eof_check' => true,
'package_eof' => "\r\n\r\n",
'package_max_length' => 1024 * 1024 * 2,
));
if (!$client->connect($ip, $port, -1))
{
$create_error = $client->errCode;
self::log('creat fail:'.$create_error);
ptrace("創(chuàng)建tcp客戶端失敗".$create_error);
return false;
}
ptrace($client);
$client->send($data);
$out = $client->recv();
ptrace($out);
$client->close();
return $out;
- 序
- 前端
- 通用
- bootstrap
- angular
- ui-router
- controller
- react
- 后端
- php
- mysql
- 自定義函數(shù)
- 運維
- appveyor ci構(gòu)建php擴展
- api
- weixin
- geo
- 西陸整理
- 人員
- 目錄結(jié)構(gòu)
- 數(shù)據(jù)庫結(jié)構(gòu)
- 項目初始化
- 小記憶
- 分頁函數(shù)
- 系統(tǒng)函數(shù)庫
- 常用函數(shù)庫
- 操作數(shù)據(jù)庫
- 幫助演示
- ct高級搜索
- 測試代碼極客tags
- 服務器
- java
- yar
- 簡歷
- tcp
- efi分區(qū)加載
- 氧庫測試
- 測試
- pgsql
- 轉(zhuǎn)換
