亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php教程 php手冊 [PHP] PHP請求Socket接口測試

[PHP] PHP請求Socket接口測試

Aug 04, 2016 am 08:53 AM

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

PHP文件:

<span style="color: #000000;">php
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Test{
    </span><span style="color: #0000ff;">const</span> IP='127.0.0.1'<span style="color: #000000;">;
    </span><span style="color: #0000ff;">const</span> port=10003<span style="color: #000000;">;
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> main(){
        </span><span style="color: #008080;">header</span>("Content-type:text/html;Charset=UTF-8"<span style="color: #000000;">);
        </span><span style="color: #800080;">$socket</span>=<span style="color: #0000ff;">new</span><span style="color: #000000;"> Test();
        </span><span style="color: #800080;">$result</span>=<span style="color: #800080;">$socket</span>->connSocket("getmaillist\r\n{'id':2}\r\n"<span style="color: #000000;">);
        </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$result</span><span style="color: #000000;">;
    }
    </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> connSocket(<span style="color: #800080;">$str</span><span style="color: #000000;">){
        </span><span style="color: #800080;">$socket</span> = socket_create(AF_INET,SOCK_STREAM,<span style="color: #000000;">SOL_TCP);
        </span><span style="color: #800080;">$res</span>=@socket_connect(<span style="color: #800080;">$socket</span>,self::IP,self::<span style="color: #000000;">port);
        </span><span style="color: #0000ff;">if</span>(!<span style="color: #800080;">$res</span><span style="color: #000000;">){
            </span><span style="color: #0000ff;">return</span><span style="color: #000000;">;
        }
        socket_write(</span><span style="color: #800080;">$socket</span>,<span style="color: #800080;">$str</span><span style="color: #000000;">);
        </span><span style="color: #800080;">$result</span>=""<span style="color: #000000;">;
        </span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$data</span> = socket_read(<span style="color: #800080;">$socket</span>,1024<span style="color: #000000;">)){
            </span><span style="color: #800080;">$result</span>.=<span style="color: #800080;">$data</span><span style="color: #000000;">;
        }
        socket_close(</span><span style="color: #800080;">$socket</span><span style="color: #000000;">);
        </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$result</span><span style="color: #000000;">;
    }
}
Test</span>::main();

Java的Socket服務(wù)端:

<span style="color: #0000ff;">import</span><span style="color: #000000;"> java.io.InputStream;
</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.io.PrintWriter;
</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.net.ServerSocket;
</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.net.Socket;

</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Test {
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> main(String[] args) <span style="color: #0000ff;">throws</span><span style="color: #000000;"> Exception {
        ServerSocket serverSocket </span>= <span style="color: #0000ff;">new</span> ServerSocket(10003<span style="color: #000000;">);

        </span><span style="color: #0000ff;">while</span> (<span style="color: #0000ff;">true</span><span style="color: #000000;">) {
            Socket socket </span>=<span style="color: #000000;"> serverSocket.accept();

            InputStream is </span>=<span style="color: #000000;"> socket.getInputStream();
            </span><span style="color: #0000ff;">byte</span>[] b = <span style="color: #0000ff;">new</span> <span style="color: #0000ff;">byte</span>[1024<span style="color: #000000;">];
            </span><span style="color: #0000ff;">int</span> len =<span style="color: #000000;"> is.read(b);
            String inputString </span>= <span style="color: #0000ff;">new</span> String(b, 0<span style="color: #000000;">, len);
            PrintWriter pw</span>=<span style="color: #0000ff;">new</span> PrintWriter(socket.getOutputStream(),<span style="color: #0000ff;">true</span><span style="color: #000000;">);
            String result</span>=""<span style="color: #000000;">;
            
            </span><span style="color: #008000;">//</span><span style="color: #008000;">處理發(fā)來的數(shù)據(jù)</span>
            <span style="color: #0000ff;">if</span>(inputString.contains("\r\n"<span style="color: #000000;">)){
                String[] params</span>=inputString.split("\r\n"<span style="color: #000000;">);
                </span><span style="color: #0000ff;">if</span>(params[0].equals("getmaillist"<span style="color: #000000;">)){
                    String maillist</span>=<span style="color: #000000;">getmaillist();
                    result</span>="請求方法:"+params[0]+",請求參數(shù):"+params[1]+",請求結(jié)果:"+<span style="color: #000000;">maillist;
                }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{
                    result</span>="非法參數(shù)2"<span style="color: #000000;">;
                }
            }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{
                result</span>="非法參數(shù)1"<span style="color: #000000;">;
            }
            
            pw.println(result);
            socket.close();
        }
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String getmaillist(){
        </span><span style="color: #0000ff;">return</span> "中國上海/2015年7月28日——服務(wù)于中國及全球華人社群的領(lǐng)先在線媒體公司新浪公司(Nasdaq GS: SINA)定于美國當(dāng)?shù)貢r(shí)間2016年8月8日周一股市收盤后公布截至2016年6月30日的2016第二季度未經(jīng)審計(jì)的財(cái)務(wù)報(bào)告。隨后,新浪管理團(tuán)隊(duì)將于美國東部時(shí)間晚10點(diǎn)10分召開電話會議,通報(bào)公司的財(cái)務(wù)和經(jīng)營狀況。"<span style="color: #000000;">;
    }
}</span>

效果:

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)