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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
PHP个人网站架设连环讲(二)
Oct 09 PHP
56.com视频采集接口程序(PHP)
Sep 22 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
PHP开发框架kohana3 自定义路由设置示例
Jul 14 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
详解php实现页面静态化原理
Jun 21 PHP
PHP常用日期加减计算方法实例小结
Jul 31 PHP
php+iframe 实现上传文件功能示例
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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
js代码实现微博导航栏
2015/07/30 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
js函数般调用正则
2008/04/08 Javascript
Javascript 圆角div的实现代码
2009/10/15 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python多线程编程方式分析示例详解
2013/12/06 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python计算二维矩形IOU实例
2020/01/18 Python
Python基于template实现字符串替换
2020/11/27 Python
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
护士自我评价范文
2014/01/25 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
导游词之江南周庄
2019/12/06 职场文书
德劲DE1108畅想
2021/04/22 无线电
Django显示可视化图表的实践
2021/05/10 Python
Python编写冷笑话生成器
2022/04/20 Python