[PHP] PHP-Anfrage-Socket-Schnittstellentest
Aug 04, 2016 am 08:53 AMVerwenden Sie PHP, um die Daten der Socket-Schnittstelle zu lesen, übergeben Sie die Anforderungsmethode und die Anforderungsparameter über PHP und erhalten Sie das Rückgabeergebnis
PHP-Datei:
<?<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-Server:
<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間2016年8月8日周一股市收盤后公布截至2016年6月30日的2016第二季度未經(jīng)審計的財務(wù)報告。隨后,新浪管理團隊將于美國東部時間晚10點10分召開電話會議,通報公司的財務(wù)和經(jīng)營狀況。"<span style="color: #000000;">; } }</span>
Wirkung:
Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel
Agnes Tachyon Build Guide | Ein hübsches Derby -Musume
4 Wochen vor
By Jack chen
Gras Wonder Build Guide | Uma Musume hübsches Derby
3 Wochen vor
By Jack chen
<??>: 99 N?chte im Wald - alle Abzeichen und wie man sie freischalt
3 Wochen vor
By DDD
<??> scharlachrote Build -Handbuch | Uma Musume hübsches Derby
1 Monate vor
By Jack chen
Uma Musume Pretty Derby Banner Zeitplan (Juli 2025)
3 Wochen vor
By Jack chen

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen
Laravel-Tutorial
1597
29


PHP-Tutorial
1486
72

