php教程

超轻量级php框架startmvc

PHP请求Socket接口测试实例

更新时间:2020-03-11 11:33:22 作者:startmvc
使用php读取socket接口的数据,通过php传递请求方法和请求参数,得到返回结果PHP文件:<&#

使用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接口测试实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

socket接口测试