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 中的类
Oct 09 PHP
建立文件交换功能的脚本(一)
Oct 09 PHP
PHP explode()函数用法、切分字符串
Oct 03 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
PHP字符串的编码问题的详细介绍
Apr 27 PHP
Smarty变量调节器失效的解决办法
Aug 20 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
thinkPHP5实现的查询数据库并返回json数据实例
Oct 23 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实现图片上传并进行替换操作
2016/03/15 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
php时间戳转换代码详解
2019/08/04 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
以windows service方式运行Python程序的方法
2015/06/03 Python
python矩阵的转置和逆转实例
2018/12/12 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
Python字典dict常用方法函数实例
2020/11/09 Python
详解pandas映射与数据转换
2021/01/22 Python
python实现发送邮件
2021/03/02 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
材料加工硕士生求职信
2013/10/10 职场文书
计算机毕业生求职信
2014/06/10 职场文书
公司活动总结范文
2014/07/01 职场文书
我是一名护士演讲稿
2014/08/28 职场文书