自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java遠程配置的服務器調(diào)試與管理

開發(fā) 后端
Java遠程配置在進行服務器調(diào)試的時候需要注意Socket 位于java.net.包中,這是一個對于網(wǎng)絡通信來說及其重要的類。

Java遠程配置需要注意很多的問題,尤其是在代碼編寫上面更是十分的重要。下面我們就來詳細的看看在關鍵代碼的編寫上有什么是需要我們最需要重視的。希望大家有所收獲。

1,Socket ,ServerSocket:

Socket 位于java.net.包中,這是一個對于網(wǎng)絡通信來說及其重要的類,無論是那種語言,都會有Socket類的定應用或許,存在的差異也僅僅是在表示和組織上有所不同,Socket中文稱它為套接字,javaAPI中可以查看相應的介紹 一個ServerSocket構造一對通信套接字方法如下

 

  1. ServerSocket sr=new ServerSocket(port);  
  2. Socket sc=new Socket("ip",port); 

 

其中ServerSocket 的accpet方法十分重要,當一個服務套接字建立之后它一直阻塞等待一個套接字的請求,直到建立連接。

部分計算機網(wǎng)絡的書籍對套接字有這樣的定義 套接字 =ip+port;一個套接字是由一個由一個ip地址和一個端口組成的,在網(wǎng)絡通信中的底層實現(xiàn)也的確如此,要一個進程通信就必須為之制定工作端口,在連接端口之后才能在該端口上通信.

2, InputStream , OutputStream

當一個套接字連接成功后就可以獲得基于這個套接字的輸入輸出流,一切數(shù)據(jù)的發(fā)送和接受都離不開輸出輸入流,我們可以通過流封裝的方法選擇你要輸入或者輸出的數(shù)據(jù)類型,

請看如下例子:

這是一個完整服務器端的例子請仔細閱讀注釋

  1. //Server.java  
  2. import java.net.*;  
  3. import java.io.*;  
  4. public class Server {  
  5. public static void main(String args[])  
  6. {  
  7. ServerSocket server=null;//定義服務套接字  
  8. Socket you=null;  
  9. String s=null;  
  10. DataOutputStream out=null;//定義流  
  11. DataInputStream in=null;  
  12. try{  
  13. server=new ServerSocket(4331);/*在這里建立服務器套接字,
    服務套接字的構造方法只需要有服務端口就行,這個道理很簡單*/  
  14. }catch(Exception e){System.out.println(e.getMessage());}
    //捕捉異常  
  15. try{  
  16. System.out.println("wait.....");  
  17. you=server.accept();//在這里阻塞等待客戶的介入  
  18. out=new DataOutputStream(you.getOutputStream());//取得輸出流  
  19. in=new DataInputStream(you.getInputStream());//取得輸出流  
  20. while(true)//循環(huán)讀  
  21. {  
  22. s=in.readUTF();  
  23. int m=Integer.parseInt(s);  
  24. out.writeUTF("Hello i am server!");//發(fā)送信息  
  25. out.writeUTF("X 2:"+s);  
  26. System.out.println("Server receive :"+s);  
  27. Thread.sleep(300);//f防止組賽,沒有這一個語句或占用很多cpu和內(nèi)存  
  28. }  
  29. }catch(Exception e){System.out.println("Client leave!");}  
  30. }  

 

上面是一個簡單的服務器端程序 顯示了如何實現(xiàn)套接字的服務器構建,下面是一個Java遠程配置的客戶端

 

  1. import java.io.*;  
  2. import java.net.*;  
  3. public class Client {  
  4. public static void main(String args[])  
  5. {  
  6. String s=null;  
  7. Socket mysocket;//創(chuàng)建客戶端套接字  
  8. DataInputStream in=null;  
  9. DataOutputStream out=null;  
  10. try{  
  11. mysocket=new Socket("127.0.0.1",4331);/
    *注意實例化的構造方法與服務器有什么不同*/  
  12. System.out.println("localport:"+mysocket.getLocalPort());  
  13. System.out.println("localAddress:"+mysocket.
    getLocalAddress());  
  14. System.out.println("localSocketAddress:"+mysocket.
    getLocalSocketAddress());  
  15. System.out.println("Chanel:"+mysocket.getChannel());  
  16. // 上面的代碼顯示具體的通信地址端口  
  17. in=new DataInputStream(mysocket.getInputStream());  
  18. out=new DataOutputStream(mysocket.getOutputStream());  
  19. for(int k=1;k<100;kk=k+2)//循環(huán)寫入內(nèi)容  
  20. {  
  21. out.writeUTF(""+k);  
  22. s=in.readUTF();  
  23. System.out.println("客戶端接受的數(shù)據(jù)?。?quot;+s);  
  24. Thread.sleep(500);  
  25. }  
  26. }catch(Exception e){  
  27. System.out.println(e.getMessage());  
  28. }  
  29. }  

 

 

上面兩個文件保存后放在一個文件價下運行Java遠程配置就可以實現(xiàn)通信,建議讀者使用集成開發(fā)環(huán)境進行測試。

【編輯推薦】

  1. 使用Java多線程實現(xiàn)任務分發(fā)
  2. Java多線程初學者指南系列教程
  3. Java多線程優(yōu)化之偏向鎖原理分析
  4. Java多線程同步如何從JVM的角度體會
  5. Java多線程如何創(chuàng)建多個線程
責任編輯:張浩 來源: 博客園
相關推薦

2010-04-16 17:31:33

Apache服務器

2011-08-08 14:17:22

DNS服務器WindowsServ

2010-03-16 15:54:52

2011-08-30 11:19:25

遠程服務器數(shù)據(jù)中心遷移服務器管理工具

2011-08-30 10:44:52

遠程服務器服務器管理工具服務器虛擬化

2011-08-31 11:36:17

遠程服務器管理

2013-10-23 11:00:33

服務器遠程管理

2009-10-20 11:28:36

2011-08-30 10:54:48

遠程服務器服務器管理工具服務器虛擬化

2011-02-17 09:14:32

2011-07-19 17:25:19

服務器遠程管理

2009-04-28 19:38:02

LinuxSrvRepor遠程監(jiān)控

2020-10-16 18:16:21

遠程服務器終端開發(fā)人員

2009-12-17 15:03:49

路由器配置DNS服務器

2009-02-27 13:53:00

遠程服務器RAS

2010-05-05 11:42:13

遠程管理Windows

2009-03-04 06:04:00

IPMI服務器遠程管理

2011-07-19 13:02:54

服務器

2010-01-13 14:45:25

CentOS配置

2010-08-30 16:25:17

配置DHCP服務器
點贊
收藏

51CTO技術棧公眾號