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的一些小问题
Jul 03 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
你可能不知道PHP get_meta_tags()函数
May 12 PHP
PHP类的反射用法实例
Nov 03 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHP共享内存使用与信号控制实例分析
May 09 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新手上路(四)
2006/10/09 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
JavaScript EasyPager 分页函数
2011/05/25 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python3标准库总结
2019/02/19 Python
python实现一个猜拳游戏
2020/04/05 Python
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
人事助理自荐信
2014/02/02 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
水电施工员岗位职责
2015/04/11 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle
php png失真的原因及解决办法
2021/10/24 PHP