最近对接了一个第三方接口,对方提供不了HTTP协议接口,只有TCP/IP协议,下方是具体通讯方式:
通讯方式:通讯协议使用开放的TCP/IP协议,通讯程序开发基于标准的SOCKET编程,通讯方式为同步短连接,通讯超时时间定为60秒。
其实这个就是用socket做一个客户端来访问第三方接口,简单示例代码如下:
<?php
error_reporting(E_ALL);
//端口111
$service_port = 8082;
//本地
$address = 'localhost';
//创建 TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket创建失败原因: " . socket_strerror($socket) . "\n";
} else {
echo "OK.\n";
}
$result = socket_connect($socket, $address, $service_port);
if ($result < 0) {
echo "SOCKET连接失败原因: ($result) " . socket_strerror($result) . "\n";
} else {
echo "OK.\n";
}
//发送命令
$in = "HEAD / HTTP/1.1\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
echo "Send Command..........";
$in = "sun\n";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Reading Backinformatin:\n\n";
while ($out = socket_read($socket, 2048)) {
// 粘包处理
echo $out;
}
echo "Close socket........";
socket_close($socket);
echo "OK,He He.\n\n";
?>


发表评论 取消回复