使用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
免費(fèi)脫衣服圖片

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

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

Clothoff.io
AI脫衣機(jī)

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

熱門文章
Agnes Tachyon Build Guide |漂亮的德比志
1 個(gè)月前
By Jack chen
Grass Wonder Build Guide |烏瑪媽媽漂亮的德比
3 周前
By Jack chen
<??>:在森林里99夜 - 所有徽章以及如何解鎖
3 周前
By DDD
烏瑪?shù)姆劢z漂亮的德比橫幅日程(2025年7月)
3 周前
By Jack chen
NYT'連接”提示7月2日,星期三:今天游戲的線索和答案
1 個(gè)月前
By DDD

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

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

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

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)