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

Server Socket通信簡(jiǎn)單的實(shí)例分析

開(kāi)發(fā) 后端
Server Socket通信在實(shí)際的應(yīng)用中有很多的問(wèn)題,有些人不知道如何才能解決。其實(shí)我們仔細(xì)學(xué)習(xí)源代碼就能找到你想要的。

Server Socket通信一直在不斷的進(jìn)行相關(guān)的測(cè)試,在不斷的使用中有很多的問(wèn)題存在,其實(shí)有不少的問(wèn)題在源代碼中就能找打答案。所謂Server Socket通信通常也稱作"套接字",用于描述IP地址和端口,是一個(gè)通信鏈的句柄。應(yīng)用程序通常通過(guò)"套接字"向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求。

Socket和ServerSocket類庫(kù)位于java.net包中。Server Socket用于服務(wù)器端,Server Socket通信是建立網(wǎng)絡(luò)連接時(shí)使用的。在 連接成功時(shí),應(yīng)用程序兩端都會(huì)產(chǎn)生一個(gè)Socket實(shí)例,操作這個(gè)實(shí)例,完成所需的會(huì)話。對(duì)于一個(gè)網(wǎng)絡(luò)連接來(lái)說(shuō),套接字是平等的,并沒(méi)有差別,不因?yàn)樵诜?務(wù)器端或在客戶端而產(chǎn)生不同級(jí)別。不管是Socket還是ServerSocket它們的工作都是通過(guò)SocketImpl類及其子類完成的。

下面給出一個(gè)最簡(jiǎn)單的Server Socket通信的例子供初學(xué)者參考:

服務(wù)器端:ServerDemo.java

Java代碼

 

  1. package com.lanber.socket;   
  2. import java.io.DataInputStream;   
  3. import java.io.DataOutputStream;   
  4. import java.io.IOException;   
  5. import java.net.ServerSocket;   
  6. import java.net.Socket;   
  7. public class ServerDemo {   
  8. /**   
  9. * 注意:Socket的發(fā)送與接收是需要同步進(jìn)行的,即客戶端發(fā)送一條信息,服務(wù)器必需先接收這條信息,   
  10. * 而后才可以向客戶端發(fā)送信息,否則將會(huì)有運(yùn)行時(shí)出錯(cuò)。   
  11. * @param args   
  12. */   
  13. public static void main(String[] args) {   
  14. ServerSocket ss = null;   
  15. try {   
  16. ss = new ServerSocket(8888);   
  17. //服務(wù)器接收到客戶端的數(shù)據(jù)后,創(chuàng)建與此客戶端對(duì)話的Socket   
  18. Socket socket = ss.accept();   
  19. //用于向客戶端發(fā)送數(shù)據(jù)的輸出流   
  20. DataOutputStream dos = new DataOutputStream(socket.getOutputStream());   
  21. //用于接收客戶端發(fā)來(lái)的數(shù)據(jù)的輸入流   
  22. DataInputStream dis = new DataInputStream(socket.getInputStream());   
  23. System.out.println("服務(wù)器接收到客戶端的連接請(qǐng)求:" + dis.readUTF());   
  24. //服務(wù)器向客戶端發(fā)送連接成功確認(rèn)信息   
  25. dos.writeUTF("接受連接請(qǐng)求,連接成功!");   
  26. //不需要繼續(xù)使用此連接時(shí),關(guān)閉連接   
  27. socket.close();   
  28. ss.close();   
  29. } catch (IOException e) {   
  30. e.printStackTrace();   
  31. }   
  32. }   
  33. }  

Server Socket通信客戶端:ClientDemo.java

Java代碼

 

  1. package com.lanber.socket;   
  2. import java.io.DataInputStream;   
  3. import java.io.DataOutputStream;   
  4. import java.io.IOException;   
  5. import java.io.OutputStream;   
  6. import java.net.Socket;   
  7. import java.net.UnknownHostException;   
  8. public class ClientDemo {   
  9. /**   
  10. * @param args   
  11. */   
  12. public static void main(String[] args) {   
  13. Socket socket = null;   
  14. try {   
  15. socket = new Socket("localhost",8888);   
  16. //獲取輸出流,用于客戶端向服務(wù)器端發(fā)送數(shù)據(jù)   
  17. DataOutputStream dos = new DataOutputStream(socket.getOutputStream());   
  18. //獲取輸入流,用于接收服務(wù)器端發(fā)送來(lái)的數(shù)據(jù)   
  19. DataInputStream dis = new DataInputStream(socket.getInputStream());   
  20. //客戶端向服務(wù)器端發(fā)送數(shù)據(jù)   
  21. dos.writeUTF("我是客戶端,請(qǐng)求連接!");   
  22. //打印出從服務(wù)器端接收到的數(shù)據(jù)   
  23. System.out.println(dis.readUTF());   
  24. //不需要繼續(xù)使用此連接時(shí),記得關(guān)閉哦   
  25. socket.close();   
  26. } catch (UnknownHostException e) {   
  27. e.printStackTrace();   
  28. } catch (IOException e) {   
  29. e.printStackTrace();   
  30. }   
  31. }  
  32. }  

以上就是對(duì)Server Socket通信的詳細(xì)代碼介紹,希望大家找到了自己需要的。

【編輯推薦】

  1. Java ServerSocket的服務(wù)端代碼介紹
  2. Java Socket線程的設(shè)計(jì)原理介紹
  3. Java Socket共享的設(shè)計(jì)原理深層透析
  4. Java socket套接字如何建立自身服務(wù)器
  5. Java Socket編程相關(guān)源代碼的介紹
責(zé)任編輯:張浩 來(lái)源: 博客園
相關(guān)推薦

2010-03-16 10:10:57

Java線程通信

2012-12-24 09:55:59

交換機(jī)網(wǎng)絡(luò)通信

2015-01-15 16:25:23

Android源碼Socket通信

2019-12-31 20:55:13

Socket通信TCP

2010-06-11 14:31:08

通信協(xié)議

2009-09-01 18:36:35

C#委托實(shí)例

2022-01-17 21:29:36

通信信息電線

2020-07-28 08:54:39

內(nèi)核通信Netlink

2013-01-24 10:14:54

SilverlightRIASocket

2010-09-13 15:06:40

sql server字

2011-06-13 16:51:19

Qt Socket

2015-09-08 10:06:18

JavaSocket編程通信

2010-03-22 10:42:37

Java Socket

2010-03-19 11:12:23

Java Socket

2011-07-11 14:19:54

JAVA串口通信

2011-07-11 14:12:19

Java串口通信

2011-12-13 12:32:54

JavaNIO

2009-09-24 10:06:42

Hibernate實(shí)例

2010-03-22 13:25:47

Java Socket

2015-04-07 09:32:57

phpSocket通信php出現(xiàn)錯(cuò)誤
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)