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 相关文章推荐
让你同时上传 1000 个文件 (一)
Oct 09 PHP
php下实现农历日历的代码
Mar 07 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
PHP中文乱码解决方案
Mar 05 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
php实现的二分查找算法示例
Jun 20 PHP
PHP数组常用函数实例小结
Aug 20 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
Javascript的this详解
2019/03/23 Javascript
js实现筛选功能
2020/11/24 Javascript
在windows系统中实现python3安装lxml
2016/03/23 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
美国网上订购鲜花:FTD
2016/09/23 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
董事长职责范文
2013/11/08 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
家长通知书家长意见
2014/12/30 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
体检通知范文
2015/04/21 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS