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 相关文章推荐
php5中date()得出的时间为什么不是当前时间的解决方法
Jun 30 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
PHP中PDO基础教程 入门级
Sep 04 PHP
实现PHP多线程异步请求的3种方法
Jan 17 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP实现类似题库抽题效果
Aug 16 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 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
PHP自动更新新闻DIY
2006/10/09 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
nginx 设置多个站跨域
2021/03/09 Servers
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
RequireJs的使用详解
2017/02/19 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python处理csv数据的方法
2015/03/11 Python
python实现给数组按片赋值的方法
2015/07/28 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
保安部任务及岗位职责
2014/02/25 职场文书
高中生的自我评价
2014/03/04 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
物业管理专业自荐信
2014/07/01 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
检讨书范文
2015/01/27 职场文书
任命书标准格式
2015/03/02 职场文书
公司开会通知
2015/04/20 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书