本篇文章主要介绍php请求socket接口测试实例详解,感兴趣的朋友参考下,希望对大家有所帮助。
使用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中list方法用法
php通过引用传递参数用法详解
php版阿里云oss图片上传类详解
以上就是php请求socket接口测试实例详解的详细内容。
