本篇文章给大家分享的内容是PHP进行tcp连接,有着一定的参考价值,有需要的朋友可以参考一下

原生PHP的写法。$host = '服务端IP'; $port = 端口号; $timeout = 5; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (socket_connect($socket, $host, $port) === false) { // 创建连接

socket_close($socket); $message = 'create socket error'; throw new Exception($message, socket_last_error());

}

if (socket_write($socket, $buffer) === false) { // 发包

socket_close($socket); $message = sprintf("write socket error:%s", socket_strerror(socket_last_error())); throw new Exception($message, socket_last_error());

}

socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, $timeout); $rspBuffer = socket_read($socket, 65536); // 接收回包

socket_close($socket);

使用swoole的写法。$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC);$ret = $client->connect('服务端IP', 端口号, 0.5, 0); // 创建连接if (!$ret) {

throw new Exception('connect error', $client->errCode);

}

$client->send($buffer); // 发包$rspBuffer = $client->recv(); // 接收回包

转载地址

https://www.liudon.org/1324.html

原生PHP的写法。$host = '服务端IP'; $port = 端口号; $timeout = 5; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (socket_connect($socket, $host, $port) === false) { // 创建连接

socket_close($socket); $message = 'create socket error'; throw new Exception($message, socket_last_error());

}

if (socket_write($socket, $buffer) === false) { // 发包

socket_close($socket); $message = sprintf("write socket error:%s", socket_strerror(socket_last_error())); throw new Exception($message, socket_last_error());

}

socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, $timeout); $rspBuffer = socket_read($socket, 65536); // 接收回包

socket_close($socket);

使用swoole的写法。$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC);$ret = $client->connect('服务端IP', 端口号, 0.5, 0); // 创建连接if (!$ret) {

throw new Exception('connect error', $client->errCode);

}

$client->send($buffer); // 发包$rspBuffer = $client->recv(); // 接收回包

转载地址

相关推荐:

php 调用 tcp 接口,PHP进行tcp连接相关推荐

  1. JCO3远程调用SAP接口随笔一(配置连接池)

    一.配置环境:  1.下载sapjco3.dll插件置放在JDK.bin文件夹下  2.下载sapjco3.jar置放工程中 二.配置访问属性文件  SAPConnectionPool.propert ...

  2. 套接字编程---2(TCP套接字编程的流程,TCP套接字编程中的接口函数,TCP套接字的实现,TCP套接字出现的问题,TCP套接字多进程版本,TCP套接字多线程版本)

    TCP模型创建流程图 TCP套接字编程中的接口 socket 函数 #include <sys/types.h> /* See NOTES */ #include <sys/sock ...

  3. micropython教程modbus_基于S7-300400 CPU集成PN接口的Modbus TCP在TIA Portal的使用入门教程...

    基于S7-300400 CPU集成PN接口的Modbus TCP在TIA Portal的使用入门. Modbus TCP通讯概述 MODBUS TCP 使MODBUS_RTU协议运行于以太网,MODB ...

  4. 请使用命令行统计各tcp状态的数量_TCP 连接状态及相关命令学习

    在平时的开发工作中,我们都使用被封装完好的 TCP/HTTP 库去完成需求开发,很少关心底层 TCP 的连接状态,但是一旦遇到较难定位的线上事故,往往都是因为 TCP 连接参数或者使用姿势不对导致的, ...

  5. HTTP、TCP、Socket、长连接、短连接的概念和原理及其区别

    文章目录 HTTP Scoket HTTP协议和TCP/IP的关系 Socket与TCP/IP的关系 Socket与HTTP的关系 TCP/IP协议分层 长连接和短连接 长连接和短连接的优点和缺点 短 ...

  6. TCP半连接队列和全连接队列(史上最全)

    TCP半连接队列和全连接队列 文章很长,建议收藏起来慢慢读! 总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :<尼恩Java面试宝典>持续更新+ 史上最全 + 面试必备 2000 ...

  7. 5.3 计算机网络传输层之TCP协议(tcp协议特点、tcp报文段首部格式、tcp连接---三次握手、tcp连接释放---四次握手)

    文章目录 1.TCP协议特点 2.TCP报文段的首部格式 3.TCP连接管理 (1)连接的建立 - - - 三次握手 (2)SYN泛洪攻击 4.TCP连接释放----四次握手 5.TCP连接建立和释放 ...

  8. [计算机网络] - TCP半连接队列和全连接队列

    转载自:https://blog.csdn.net/qq_34827674/article/details/106448326 1. 概念 在 TCP 三次握手的时候,Linux 内核会维护两个队列, ...

  9. TCP 半连接队列和全连接队列满了,怎么破?

    作者 | 小林coding 来源 | 小林coding 责编 | 王晓曼 前言 网上许多博客针对增大 TCP 半连接队列和全连接队列的方式如下: 增大 TCP 半连接队列方式是增大 tcp_max_s ...

最新文章

  1. archlinux 安装 Windows 字体
  2. 检查用户是否正在使用IE
  3. C/C++头文件区别
  4. 2018最新大神教你用Python玩转数据视频教程
  5. Java回调函数使用
  6. 查看ftp创建的用户
  7. oracle主机自增,Oracle中实现ID自增
  8. flink 入门及安装
  9. 使用Tenorshare iCareFone for mac如何对iPhone进行系统修复?
  10. 单片机C语言控制16*16LED显示屏,基于单片机的pwm控制16*16led点阵亮度调节怎么做啊,...
  11. dynamipsGUI+VMware
  12. [SUCTF 2019]EasyWeb 1
  13. 图像 YUV与RGB格式转换
  14. codeforces 918 D MADMAX 记忆化搜索
  15. python 列表 元组_python基础:元组(tuple)列表(list)介绍
  16. IIC扩展IO NCA9555代码
  17. 手机用蓝牙键盘好使吗_手机也可以连接键盘,你知道怎么使用吗?
  18. Please make sure the -vm option in eclipse.ini is pointing to a JDK and verify that Installed JRE’s
  19. Python——LeetCode刷题——【387. 字符串中的第一个唯一字符】
  20. [ActionScript 3.0] AS3.0 调试出现安全沙箱冲突错误解决办法

热门文章

  1. 可爱的python_可爱的python
  2. 【人工智能AI2.0】清华发布了 ChatGLM-6B 中国大模型5支学术界团队和10大产业界力量介绍
  3. mysql 转义字符用法_MySql 转义字符的使用说明
  4. Elasticsearch match和term查询的区别
  5. 谈“盖茨北大演讲遭遇反垄断抗议”
  6. 什么是端口,怎样查看端口,关闭/开启端口,各种端口的作用
  7. ResultSetMetaData注意事项
  8. 浙江大学工程师学院非全日制非定向转博[经验贴]
  9. 华大HC32外设驱动开发汇总
  10. php 图片印章_PHP实现印章输出