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 相关文章推荐
彻底杜绝PHP的session cookie错误
Aug 09 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
PHP简单实现无限级分类的方法
May 13 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
Dec 02 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 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
Zend引擎的发展 [15]
2006/10/09 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
一个JQuery操作Table的代码分享
2012/03/30 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
深入理解Django的自定义过滤器
2017/10/17 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
冬季安全检查方案
2014/05/23 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2014年基建工作总结
2014/12/12 职场文书
慰问信格式
2015/02/14 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
python lambda 表达式形式分析
2022/04/03 Python