成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java socket套接字如何建立自身服務器

開發(fā) 后端
Java socket套接字與我們的編程密不可分,當然我們在不斷的使用中有很多的問題存在,下面我們就詳細的來學習下。

什么是Java socket套接字呢?這個問題在接下來的文章中就會向大家有所幫助。其實有很多的時候有關的代碼還是需要我們從理論中尋找有關的問題,希望大家有所幫助。

所謂socket通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄。應用程序通常通過"套接字"向網(wǎng)絡發(fā)出請求或者應答網(wǎng)絡請求。

以J2SDK-1.3為例,Socket和ServerSocket類庫位于java.net包中。ServerSocket用于服務器端,Socket是建立網(wǎng)絡連接時使用的。在連接成功時,應用程序兩端都會產(chǎn)生一個Socket實例,操作這個實例,完成所需的會話。對于一個網(wǎng)絡連接來說,套接字是平等的,并沒有差別,不因為在服務器端或在客戶端而產(chǎn)生不同級別。不管是Socket還是ServerSocket它們的工作都是通過SocketImpl類及其子類完成的。 #t#

重要的Java socket套接字 API:

java.net.Socket繼承于java.lang.Object,有八個構造器,其方法并不多,下面介紹使用最頻繁的三個方法,其它方法大家可以見JDK-1.3文檔。

.Accept方法用于產(chǎn)生"阻塞",直到接受到一個連接,并且返回一個客戶端的Socket對象實例。"阻塞"是一個術語,它使程序運行暫時"停留"在這個地方,直到一個會話產(chǎn)生,然后程序繼續(xù);通常"阻塞"是由循環(huán)產(chǎn)生的。

.getInputStream方法獲得網(wǎng)絡連接輸入,同時返回一個IutputStream對象實例。

.getOutputStream方法連接的另一端將得到輸入,同時返回一個OutputStream對象實例。

注意:其中getInputStream和getOutputStream方法均會產(chǎn)生一個IOException,它必須被捕獲,因為它們返回的流對象,通常都會被另一個流對象使用。

如何開發(fā)一個Server-Client模型的程序

Java socket套接字開發(fā)原理:

服務器,使用ServerSocket監(jiān)聽指定的端口,端口可以隨意指定(由于1024以下的端口通常屬于保留端口,在一些操作系統(tǒng)中不可以隨意使用,所以建議使用大于1024的端口),等待客戶連接請求,客戶連接后,會話產(chǎn)生;在完成會話后,關閉連接。

客戶端,使用Socket對網(wǎng)絡上某一個服務器的某一個端口發(fā)出連接請求,一旦連接成功,打開會話;會話完成后,關閉Socket。客戶端不需要指定打開的端口,通常臨時的、動態(tài)的分配一個1024以上的端口。

{建立服務器}

 

  1. import java.net.*;   
  2. import java.io.*;   
  3. public class Server   
  4. {   
  5. private ServerSocket ss;   
  6. private Socket socket;   
  7. private BufferedReader in;   
  8. private PrintWriter out;   
  9. public Server()   
  10. {   
  11. try   
  12. {   
  13. ss = new ServerSocket(10000);   
  14. while (true)   
  15. {   
  16. socket = ss.accept();   
  17. in = new BufferedReader(new InputStreamReader(socket.getInputStream()));   
  18. out = new PrintWriter(socket.getOutputStream(),true);   
  19. String line = in.readLine();   
  20. out.println("you input is :" + line);   
  21. out.close();   
  22. in.close();   
  23. socket.close();   
  24. }   
  25. ss.close();   
  26. }   
  27. catch (IOException e)   
  28. {}   
  29. }   
  30. public static void main(String[] args)   
  31. {   
  32. new Server();   
  33. }   
  34. }  

 

這個程序建立了一個服務器,它一直監(jiān)聽10000端口,等待用戶連接。在建立連接后給客戶端返回一段信息,然后結束會話。這個程序一次只能接受一個客戶連接。

{建立客戶端}

 

 

  1. import java.io.*;   
  2. import java.net.*;   
  3. public class Client   
  4. {   
  5. Socket socket;   
  6. BufferedReader in;   
  7. PrintWriter out;   
  8. public Client()   
  9. {   
  10. try   
  11. {   
  12. socket = new Socket("xxx.xxx.xxx.xxx", 10000);   
  13. in = new BufferedReader(new InputStreamReader(socket.getInputStream()));   
  14. out = new PrintWriter(socket.getOutputStream(),true);   
  15. BufferedReader line = new BufferedReader(new InputStreamReader(System.in));   
  16. out.println(line.readLine());   
  17. line.close();   
  18. out.close();   
  19. in.close();   
  20. socket.close();   
  21. }   
  22. catch (IOException e)   
  23. {}   
  24. }   
  25. public static void main(String[] args)   
  26. {   
  27. new Client();   
  28. }  
  29. }  

這個客戶端連接到地址為xxx.xxx.xxx.xxx的服務器,端口為10000,并從鍵盤輸入一行信息,發(fā)送到服務器,然后接受服務器的返回信息,最后結束會話。以上就是對Java socket套接字的詳細介紹。
 

責任編輯:張浩 來源: CSDN
相關推薦

2011-12-07 17:05:45

JavaNIO

2010-03-19 14:01:55

Java Socket

2010-09-28 15:18:27

如何建立DHCP服務器

2015-07-09 09:49:39

PHPSocket服務器

2010-03-19 13:48:15

Java Socket

2010-09-06 17:08:23

2009-07-15 09:42:46

2011-01-18 09:45:57

2010-03-18 19:39:44

Java Socket

2010-03-19 15:01:23

Java Socket

2012-12-31 10:34:15

服務器虛擬化虛擬化架構

2010-05-17 11:08:46

IIS服務器

2010-10-09 10:00:25

服務器虛擬化

2009-11-23 17:23:59

DNS服務器內(nèi)部建立

2010-08-03 11:49:26

Ubuntu nfs服

2010-09-02 14:56:03

建立DHCP服務器

2009-12-22 11:18:26

無線路由器

2010-09-02 11:20:47

SQL刪除

2020-10-15 19:10:05

LinuxAPI函數(shù)

2009-02-18 10:41:16

多線程服務器穩(wěn)定Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲永久字幕 | 国产精品美女www爽爽爽视频 | 毛片网在线观看 | 中文字幕97 | 日韩a在线观看 | 欧美成人精品一区 | 国产yw851.c免费观看网站 | 黄色电影在线免费观看 | 亚洲国产成人精品女人久久久 | 男女黄网站 | 欧美无乱码久久久免费午夜一区 | 欧美精品乱码久久久久久按摩 | 国产精品久久久久久久久久了 | 日本精品视频在线观看 | 精品视频一区二区三区在线观看 | 91精品国产乱码久久久久久久久 | 亚洲国产一区视频 | 特一级毛片 | 91丨九色丨国产在线 | 成人精品久久 | 欧美日韩久久久久 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 国产福利91精品一区二区三区 | 9久久精品 | 国产99小视频| 国产在线资源 | 国产精品国产成人国产三级 | 成人欧美一区二区三区在线播放 | av在线播放不卡 | 国产精品久久精品 | 婷婷国产一区 | 欧美精品二区 | 久久久久久99 | 紧缚调教一区二区三区视频 | 欧美一级片在线观看 | 日韩天堂av | 一级黄片一级毛片 | 欧美成人免费 | 久久99精品久久久久久国产越南 | 国产91在线 | 亚洲 | 日本精品一区二区三区四区 |