PHP請求Socket接口測試實例
來源:易賢網(wǎng) 閱讀:1097 次 日期:2016-08-29 14:49:53
溫馨提示:易賢網(wǎng)小編為您整理了“PHP請求Socket接口測試實例”,方便廣大網(wǎng)友查閱!

使用php讀取socket接口的數(shù)據(jù),通過php傳遞請求方法和請求參數(shù),得到返回結(jié)果

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="";

      //處理發(fā)來的數(shù)據(jù)

      if(inputString.contains("\r\n")){

        String[] params=inputString.split("\r\n");

        if(params[0].equals("getmaillist")){

          String maillist=getmaillist();

          result="請求方法:"+params[0]+",請求參數(shù):"+params[1]+",請求結(jié)果:"+maillist;

        }else{

          result="非法參數(shù)2";

        }

      }else{

        result="非法參數(shù)1";

      }

      pw.println(result);

      socket.close();

    }

  }

  public static String getmaillist(){

    return "中國上海/2015年7月28日——服務于中國及全球華人社群的領先在線媒體公司新浪公司(Nasdaq GS: SINA)定于美國當?shù)貢r間2016年8月8日周一股市收盤后公布截至2016年6月30日的2016第二季度未經(jīng)審計的財務報告。隨后,新浪管理團隊將于美國東部時間晚10點10分召開電話會議,通報公司的財務和經(jīng)營狀況。";

  }

}

以上這篇PHP請求Socket接口測試實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:PHP請求Socket接口測試實例
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)