<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Server Socket通信的實例分析

            時間:2024-10-05 11:08:11 SUN認證 我要投稿
            • 相關推薦

            Server Socket通信的實例分析

              Server Socket 通信一直在不斷的進行相關的測試,在不斷的使用中有很多的問題存在,其實有不少的問題在源代碼中就能找打答案。所謂Server Socket通信通常也稱作"套接字",用于描述IP地址和端口,是一個通信鏈的句柄。應用程序通常通過"套接字"向網絡發出請求或者應答網絡請求。

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

              下面給出一個最簡單的Server Socket通信的例子供初學者參考:

              服務器端: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的發送與接收是需要同步進行的,即客戶端發送一條信息,服務器必需先接收這條信息,

              10.* 而后才可以向客戶端發送信息,否則將會有運行時出錯。

              11.* @param args

              12.*/

              13.public static void main(String[] args) {

              14.ServerSocket ss = null;

              15.try {

              16.ss = new ServerSocket(8888);

              17.//服務器接收到客戶端的數據后,創建與此客戶端對話的Socket

              18.Socket socket = ss.accept();

              19.//用于向客戶端發送數據的輸出流

              20.DataOutputStream dos = new DataOutputStream(socket.getOutputStream());

              21.//用于接收客戶端發來的數據的輸入流

              22.DataInputStream dis = new DataInputStream(socket.getInputStream());

              23.System.out.println("服務器接收到客戶端的連接請求:" + dis.readUTF());

              24.//服務器向客戶端發送連接成功確認信息

              25.dos.writeUTF("接受連接請求,連接成功!");

              26.//不需要繼續使用此連接時,關閉連接

              27.socket.close();

              28.ss.close();

              29.} catch (IOException e) {

              30.e.printStackTrace();

              31.}

              32.}

              33.}

              Server Socket通信客戶端:ClientDemo.java

              Java代碼

              34.package com.lanber.socket;

              35.import java.io.DataInputStream;

              36.import java.io.DataOutputStream;

              37.import java.io.IOException;

              38.import java.io.OutputStream;

              39.import java.net.Socket;

              40.import java.net.UnknownHostException;

              41.public class ClientDemo {

              42./**

              43.* @param args

              44.*/

              45.public static void main(String[] args) {

              46.Socket socket = null;

              47.try {

              48.socket = new Socket("localhost",8888);

              49.//獲取輸出流,用于客戶端向服務器端發送數據

              50.DataOutputStream dos = new DataOutputStream(socket.getOutputStream());

              51.//獲取輸入流,用于接收服務器端發送來的數據

              52.DataInputStream dis = new DataInputStream(socket.getInputStream());

              53.//客戶端向服務器端發送數據

              54.dos.writeUTF("我是客戶端,請求連接!");

              55.//打印出從服務器端接收到的數據

              56.System.out.println(dis.readUTF());

              57.//不需要繼續使用此連接時,記得關閉哦

              58.socket.close();

              59.} catch (UnknownHostException e) {

              60.e.printStackTrace();

              61.} catch (IOException e) {

              62.e.printStackTrace();

            【Server Socket通信的實例分析】相關文章:

            PHP中如何使用socket進行通信08-21

            德國留學申請實例分析09-28

            PHP對象注入的實例分析08-27

            JavaScript匿名函數實例分析08-03

            PHP socket的配置08-04

            JQuery中serialize()用法實例分析10-22

            javascript閉包的定義及應用實例分析08-25

            2017考研英語閱讀經典實例分析08-13

            城市濕地景觀生態設計的實例分析10-26

            托福口語的評分標準及實例分析08-14

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看