轉自:http://developer.51cto.com/art/201003/190007.htmjava
所謂Java ServerSocket一般也稱做"套接字",有很多的時候須要咱們詳細的注意。接下來咱們就看看什麼是Java ServerSocket,但願你們有所收穫。用於描述IP地址和端口,是一個通訊鏈的句柄。應用程序一般經過"套接字"向網絡發出請求或者應答網絡請求。服務器
Socket和ServerSocket類庫位於java.net包中。ServerSocket用於服務器端,Socket是創建網絡鏈接時使用的。在 鏈接成功時,應用程序兩端都會產生一個Socket實例,操做這個實例,完成所需的會話。對於一個網絡鏈接來講,套接字是平等的,並無差異,不由於在服 務器端或在客戶端而產生不一樣級別。無論是Socket仍是ServerSocket它們的工做都是經過SocketImpl類及其子類完成的。網絡
下面給出一個最簡單的Socket通訊的例子供初學者參考:socket
服務器端:spa
1 ServerDemo.java 2 package com.lanber.socket; 3 import java.io.DataInputStream; 4 import java.io.DataOutputStream; 5 import java.io.IOException; 6 import java.net.ServerSocket; 7 import java.net.Socket; 8 public class ServerDemo { 9 /** 10 * 注意:Socket的發送與接收是須要同步進行的,即客戶端發送一條信息,服務器必需先接收這條信息, 11 * 然後才能夠向客戶端發送信息,不然將會有運行時出錯。 12 * @param args 13 */ 14 public static void main(String[] args) { 15 ServerSocket ss = null; 16 try { 17 ss = new ServerSocket(8888); 18 //服務器接收到客戶端的數據後,建立與此客戶端對話的Socket 19 Socket socket = ss.accept(); 20 //用於向客戶端發送數據的輸出流 21 DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); 22 //用於接收客戶端發來的數據的輸入流 23 DataInputStream dis = new DataInputStream(socket.getInputStream()); 24 System.out.println("服務器接收到客戶端的鏈接請求:" + dis.readUTF()); 25 //服務器向客戶端發送鏈接成功確認信息 26 dos.writeUTF("接受鏈接請求,鏈接成功!"); 27 //不須要繼續使用此鏈接時,關閉鏈接 28 socket.close(); 29 ss.close(); 30 } catch (IOException e) { 31 e.printStackTrace(); 32 } 33 } 34 }
以上就是對Java ServerSocket的相關介紹但願你們有所收穫。.net