當前位置:編程學習大全網 - 編程語言 - 網絡編程服務

網絡編程服務

客戶

導入Java . io . buffered reader;

導入Java . io . io exception;

導入Java . io . inputstream;

導入Java . io . inputstreamreader;

導入Java . io . output stream;

導入Java . io . printwriter;

導入Java . net . socket;

導入Java . net . unknownhostexception;

公共類EchoClient {

私有字符串host = " localhost

private int port = 5000

私有套接字socket = null

公共EchoClient()引發了UnknownHostException,IOException {

socket =新套接字(主機,端口);

}

公共靜態void main(String g[])拋出UnknownHostException,

IOException {

新EchoClient()。talk();

}

私有PrintWriter getWriter(套接字套接字)引發IOException {

output stream socket out = socket . get output stream();//首先從socket對象獲取輸出空間,也就是輸出流。

//然後將其傳遞給PrintWriter類。

返回新的PrintWriter(socketOut,true);//創建PrintWriter類,參數1:輸出流,

//參數2:布爾值,true表示每寫壹行,PrintWrinter緩存自動溢出,數據寫到目的地。

}

私有BufferedReader getReader(套接字套接字)引發IOException {

InputStream socket in = socket . getinputstream();//首先從socket對象獲取輸入流,然後將其傳遞給InputStreamReader類。

返回new buffered reader(new InputStreamReader(socket in));//創建BufferedReader類,參數是InputStreamReader的對象。

}

公共void talk() {

BufferedReader br

嘗試{

br = getReader(套接字);

PrintWriter pw = getWriter(socket);

buffered reader local reader = new buffered reader(

new InputStreamReader(system . in));//在控制臺中輸入

String msg = null

while((msg = local reader . readline())!= null) {

pw . println(" Client:"+msg);

system . out . println(br . readline());

if(msg . equals(" bye "){

打破;

}

}

} catch (IOException e) {

e . printstacktrace();

}最後{

嘗試{

socket . close();

} catch (IOException e) {

e . printstacktrace();

}

}

}

}

-

計算機網絡服務器

導入Java . io . buffered reader;

導入Java . io . io exception;

導入Java . io . inputstream;

導入Java . io . inputstreamreader;

導入Java . io . output stream;

導入Java . io . printwriter;

導入Java . net . server socket;

導入Java . net . socket;

公共類EchoServer {

private int port = 5000//端口

private server socket server soket = null;//創建服務器

公共EchoServer()引發IOException {

server soket = new server socket(port);//實例化服務器。註意:記得輸入端口號。

System.out.println("服務器啟動");

}

公共字符串回顯(字符串消息){

返回“echo:“+msg;

}

私有PrintWriter getWriter(套接字套接字)引發IOException {

output stream socket out = socket . get output stream();//首先從socket對象獲取輸出空間,也就是輸出流。

//然後將其傳遞給PrintWriter類。

返回新的PrintWriter(socketOut,true);//創建PrintWriter類,參數1:輸出流,

//參數2:布爾值,true表示每寫壹行,PrintWrinter緩存自動溢出,數據寫到目的地。

}

私有BufferedReader getReader(套接字套接字)引發IOException {

InputStream socket in = socket . getinputstream();//首先從socket對象獲取輸入流,然後將其傳遞給InputStreamReader類。

返回new buffered reader(new InputStreamReader(socket in));//創建BufferedReader類,參數是InputStreamReader的對象。

}

公共無效服務(){

while (true) {

Socket socket = null//創建客戶端

嘗試{

System.out.println("獲取連接前");

socket = serversoket . accept();//等待客戶連接,accept()會返回壹個socket對象,也就是客戶連接器。

System.out.println("獲得連接後");

System.out.println("接受新連接"

+socket . getine address()+":"+socket . getport());

buffered reader br = getReader(socket);//創建BufferedReader的對象並實例化它。

PrintWriter pw = getWriter(socket);//創建PrintWriter的對象並實例化它。

String msg = null

while ((msg = br.readLine())!= null) {//br.readLine(),這次只能讀取壹次。

system . out . println(msg);

If (msg.equals("bye")) {//如果是bye,那麽退出。

打破;

}

BufferedReader tempbr =新的BufferedReader(

new InputStreamReader(system . in));//控制臺中的輸出

string tempS = tempbr . readline();

If (tempS.equals("bye")) {//如果是bye,那麽退出。

打破;

}

pw . println(" Server:"+tempS);//將需要回復的信息寫入socket對象的輸出流。

}

} catch (IOException e) {

e . printstacktrace();

}最後{

如果(插座!= null) {

嘗試{

socket . close();//關閉客戶端

} catch (IOException e) {

e . printstacktrace();

}

}

}

}

}

公共靜態void main(String[] g)引發IOException {

新的EchoServer()。service();

}

}

  • 上一篇:寫5篇關於小貓抓魚的短文。
  • 下一篇:上小學時,班裏學習最好的同學,現在是個什麽狀況?
  • copyright 2024編程學習大全網