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 面向对象 final类与final方法
May 05 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
Session保存到数据库的php类分享
Oct 24 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
yii的CURD操作实例详解
Dec 04 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
Symfony查询方法实例小结
Jun 28 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP命名空间用法实例分析
Sep 04 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 PHP
php 实现银联商务H5支付的示例代码
Oct 12 PHP
php libevent 功能与使用方法详解
Mar 04 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操作xml代码
2010/06/17 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
php去掉文件前几行的方法
2015/07/29 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python使用生成器实现可迭代对象
2018/03/20 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
python如何进行矩阵运算
2020/06/05 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
年度考核评语
2014/01/19 职场文书
暑期研修感言
2014/02/17 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
希特勒的演讲稿
2014/05/23 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
环境卫生倡议书
2014/08/29 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书