首页 > 开发 > PHP > 正文

PHP请求Socket接口测试实例

2024-05-04 22:28:48
字体:
来源:转载
供稿:网友

使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果

PHP文件:

<?phpclass 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接口测试实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持错新站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表