PHP请求Socket接口测试实例


Posted in PHP onAugust 12, 2016

使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果

PHP文件:

<?php
class Test{
  const IP='127.0.0.1';
  const port=10003;
  public static function main(){
    header("Content-type:text/html;Charset=UTF-8");
    $socket=new Test();
    $result=$socket->connSocket("getmaillist\r\n{'id':2}\r\n");
    echo $result;
  }
  private function connSocket($str){
    $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    $res=@socket_connect($socket,self::IP,self::port);
    if(!$res){
      return;
    }
    socket_write($socket,$str);
    $result="";
    while($data = socket_read($socket,1024)){
      $result.=$data;
    }
    socket_close($socket);
    return $result;
  }
}
Test::main();

Java的Socket服务端:

import java.io.InputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Test {
  public static void main(String[] args) throws Exception {
    ServerSocket serverSocket = new ServerSocket(10003);

    while (true) {
      Socket socket = serverSocket.accept();

      InputStream is = socket.getInputStream();
      byte[] b = new byte[1024];
      int len = is.read(b);
      String inputString = new String(b, 0, len);
      PrintWriter pw=new PrintWriter(socket.getOutputStream(),true);
      String result="";
      
      //处理发来的数据
      if(inputString.contains("\r\n")){
        String[] params=inputString.split("\r\n");
        if(params[0].equals("getmaillist")){
          String maillist=getmaillist();
          result="请求方法:"+params[0]+",请求参数:"+params[1]+",请求结果:"+maillist;
        }else{
          result="非法参数2";
        }
      }else{
        result="非法参数1";
      }
      
      pw.println(result);
      socket.close();
    }
  }
  public static String getmaillist(){
    return "中国上海/2015年7月28日——服务于中国及全球华人社群的领先在线媒体公司新浪公司(Nasdaq GS: SINA)定于美国当地时间2016年8月8日周一股市收盘后公布截至2016年6月30日的2016第二季度未经审计的财务报告。随后,新浪管理团队将于美国东部时间晚10点10分召开电话会议,通报公司的财务和经营状况。";
  }
}

效果:

PHP请求Socket接口测试实例

以上这篇PHP请求Socket接口测试实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
ThinkPHP中Session用法详解
Nov 29 PHP
基于PHP后台的Android新闻浏览客户端
May 23 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
php中bind_param()函数用法分析
Mar 28 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 #PHP
php网页版聊天软件实现代码
Aug 12 #PHP
PHP 自动加载的简单实现(推荐)
Aug 12 #PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 #PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 #PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 #PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 #PHP
You might like
PHP4在Windows2000下的安装
2006/10/09 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
PHP实现八皇后算法
2019/05/06 PHP
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
Express下采用bcryptjs进行密码加密的方法
2018/02/07 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
Python模块WSGI使用详解
2018/02/02 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python线程中的同步问题及解决方法
2019/08/29 Python
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
高二地理教学反思
2014/01/24 职场文书
党员活动日总结
2014/05/05 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
vue3中的组件间通信
2021/03/31 Vue.js