日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

socket案例一

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 socket案例一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫一個網絡應用程序,有客戶端與服務器端;當客戶端向服務器端發送請求時,客戶端輸出服務器端返回的字符串。

???????

??????????? ????????

回顧下socket的開發步驟:

1) 建立Socket連接

2) 獲得輸入/輸出流

3)讀/寫數據

4) 關閉輸入/輸出流

5) 關閉Socket

????????????

???????????????

服務器端

package com.hrtx.test;

import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
* 服務器端:響應請求
*
* Unrecognized Windows Sockets error: 0: JVM_Bind-->端口被占用導致異常出現
*
* 殺死占用某端口的進程

* windows
* 1、netstat -nao //列出所有進程以及其占用的端口
* 2、taskkill -PID 進程號 -F //強制關閉某個進程

*
*
@author jiqinlin
*
*/
public class ServerTest {
public static void main(String args[]) throws Exception {
ServerSocket ss
= new ServerSocket(8888);
// 說明服務器成功啟動,正在等待客戶端連接
System.out.println("Listening...");
while (true) {
Socket socket
= ss.accept();
// 說明有客戶端請求連接
System.out.println("Client Connected...");
DataOutputStream out
= new DataOutputStream(socket.getOutputStream());
out.writeUTF(
"我是服務器端數據");
out.close();
socket.close();
}
}
}

* linux:

* 1、netstat -naop

* 2、kill 進程號 -f
*

運行main方法時控制臺會輸出“Listening...”,表示服務器成功啟動,正在等待客戶端連接

???????? ???????????

客戶端

package com.hrtx.test;

import java.io.DataInputStream;
import java.net.Socket;
/**
* 客戶端:發送請求
*
*
@author jiqinlin
*
*/
public class ClientTest {
public static void main(String[] args) throws Exception {
Socket socket
= new Socket("192.168.2.105", 8888);
DataInputStream in
= new DataInputStream(socket.getInputStream());
// 讀取服務端發來的消息
String msg = in.readUTF();
System.out.println(msg);
}
}
運行main方法時控制臺會輸出“我是服務器端數據”,此字符串是從服務器返回的

總結

以上是生活随笔為你收集整理的socket案例一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。