PHP請求Socket介面測試執行個體_php執行個體

來源:互聯網
上載者:User

使用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介面測試執行個體就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.