首先需要先有一个 tcp 服务,我们使用 php中的 socket 系列函数实现

<?php//创建socket套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);//设置阻塞模式socket_set_block($socket);//为套接字绑定ip和端口socket_bind($socket,'127.0.0.1',3046);//监听socketsocket_listen($socket,4);while(true){    //接收客户端请求    if(($msgsocket = socket_accept($socket)) !== false)    {        //读取请求内容        $buf = socket_read($msgsocket, 8192);        echo "Received msg: $buf \n";        $str = "this is a service message";        //向连接的客户端发送数据         socket_write($msgsocket, $str,strlen($str));        //操作完之后需要关闭该连接否则 feof() 函数无法正确识别打开的句柄是否读取完成        socket_close($msgsocket);    }}

连接 tcp 服务:

使用 socket 系列函数连接

<?php$st="socket send message";$length = strlen($st);//创建tcp套接字$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);//连接tcpsocket_connect($socket, '127.0.0.1',3046);//向打开的套集字写入数据(发送数据)$s = socket_write($socket, $st, $length);//从套接字中获取服务器发送来的数据$msg = socket_read($socket,8190);echo $msg;//关闭连接socket_close($socket);

941968-20190514130701439-1024524680.png使用 fsockopen 连接

<?php//使用 fsockopen 打开tcp连接句柄$fp = fsockopen("tcp://127.0.0.1",3046);$msg = "fsockopen send message";//向句柄中写入数据fwrite($fp,$msg);$ret = "";//循环遍历获取句柄中的数据,其中 feof() 判断文件指针是否指到文件末尾while (!feof($fp)){    stream_set_timeout($fp, 2);    $ret .= fgets($fp, 128);}//关闭句柄fclose($fp);echo $ret;

941968-20190514130756115-123283898.png使用 stream_socket_client 连接

<?php//使用 stream_socket_client 打开 tcp 连接$fp = stream_socket_client("tcp://127.0.0.1:3046");$msg = "fsockopen send message";//向句柄中写入数据fwrite($fp,$msg);$ret = "";//循环遍历获取句柄中的数据,其中 feof() 判断文件指针是否指到文件末尾while (!feof($fp)){    stream_set_timeout($fp, 2);    $ret .= fgets($fp, 128);}//关闭句柄fclose($fp);echo $ret;

941968-20190514130912284-1578853593.png

相关文章教程推荐:php教程

更多相关文章

  1. php实现向mysql批量插入数据
  2. php在mysql里批量插入数据(代码实例)
  3. PHP脚本导出MySQL数据字典(代码示例)
  4. 关于PHP+jQuery-ui拖动浮动层排序并保存到数据库实例
  5. 浅谈PHP连接MySQL数据库的三种方式
  6. PHP数据库框架Medoo1.6安装教程
  7. PHP面向对象之3种数据访问方式详解(代码实例)
  8. PHP中如何使用PDO修改数据?
  9. 如何解决php连接erp数据库失败

随机推荐

  1. android 地图
  2. Android进阶(十八)AndroidAPP开发问题汇
  3. Android动画效果
  4. Android中关联源码
  5. SOAP in Android
  6. android屏幕自适应4方法案例整合
  7. Android studio中的一些小技巧
  8. android怎样将textview置于imageview之上
  9. RatingBar 显示正常版本----断点记录
  10. Android MediaPlayer错误码整理