jasmine214--love

          只有當你的內(nèi)心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          socket簡單理解

          Posted on 2012-05-31 19:52 幻海藍夢 閱讀(716) 評論(0)  編輯  收藏 所屬分類: C語言學習
              一.什么是Socket
            1.所謂Socket通常也稱作“套接字”,用于描述IP地址和端口,是一個通信連的句柄
            2.應用程序通常通過“套接字”向網(wǎng)絡發(fā)送請求或者應答網(wǎng)絡請求

            二.Socket基本通信模型

          <a href='/bbs/forum-0-20601-206.html' >android</a>開發(fā)之Socket編程

            三.使用基于TCP協(xié)議的Socket
            一個客戶端要發(fā)起一次通信,首先必須知道運行服務器端的主機IP地址。然后由網(wǎng)絡基礎設施利用目標地址,將客戶端發(fā)送的信息傳遞到正確的主機上,在java中,地址可以由一個字符串來定義,這個字符串可以使數(shù)字型的地址(比如192.168.1.1),也可以是主機名(example.com)。
            在Java當中InetAddress類代表了一個網(wǎng)絡目標地址,包括主機名和數(shù)字類型的地址信息。下面為大家介紹一下基于TCP協(xié)議操作Socket的API:

            ServerSocket:這個類是實現(xiàn)了一個服務器端的Socket,利用這個類可以監(jiān)聽來自網(wǎng)絡的請求。
            a)創(chuàng)建ServerSocket的方法:
            ServerSocket(Int localPort)
            ServerSocket(int localport,int queueLimit)
            ServerSocket(int localport,int queueLimit,InetAddress localAddr)
            創(chuàng)建一個ServerSocket必須指定一個端口,以便客戶端能夠向該端口號發(fā)送連接請求。端口的有效范圍是0-65535
            b)ServerSocket操作
            Socket accept()
            void close
            accept()方法為下一個傳入的連接請求創(chuàng)建Socket實例,并將已成功連接的Socket實例返回給服務器套接字,如果沒有連接請求,accept()方法將阻塞等待;
            close方法用于關(guān)閉套接字

            Socket:
            a)創(chuàng)建Socket的方法:
            Socket(InetAddress remoteAddress,int remotePort)
            利用Socket的構(gòu)造函數(shù),可以創(chuàng)建一個TCP套接字后,先連接到指定的遠程地址和端口號。
            b)操作Socket的方法
            InputStream getInputStream()
            OutputStream getOutputStream()
            void close()

            操作TCPsocket的圖示: 

          Android開發(fā)之Socket編程

            使用基于UDP的Socket
            a)創(chuàng)建DatagramPacket
            DatagramSocket(byte [] data,int offset,int length,InetAddress remoteAddr,int remotePort)
            該構(gòu)造函數(shù)創(chuàng)建一個數(shù)據(jù)報文對象,數(shù)據(jù)包含在第一個參數(shù)當中
            b)創(chuàng)建DatagramSocket創(chuàng)建
            DatagramSocket(int localPort)
            以上構(gòu)造函數(shù)將創(chuàng)建一個UDP套接字;
            c)DatagramSocket:發(fā)送和接受
            void send(DatagramPacket packet)
            void receive(DatagramPacket packet)
            send()方法用來發(fā)送DatagramPacket實例。一旦創(chuàng)建連接,數(shù)據(jù)報將發(fā)送到該套接字所連接的地址;
            receive()方法將阻塞等待,知道接收到數(shù)據(jù)報文,并將報文中的數(shù)據(jù)復制到指定的DatagramPacket實例中

          原文 :

          http://www.jucoder.com/bbs/thread-4630-0-0.html

          主站蜘蛛池模板: 乃东县| 永丰县| 景宁| 玉树县| 武功县| 余江县| 清新县| 礼泉县| 同德县| 留坝县| 久治县| 鄯善县| 宜都市| 池州市| 青浦区| 锦州市| 克什克腾旗| 穆棱市| 方正县| 平湖市| 浙江省| 大兴区| 北碚区| 准格尔旗| 禄丰县| 绥芬河市| 积石山| 上思县| 景东| 郯城县| 志丹县| 新昌县| 神农架林区| 沽源县| 揭阳市| 汕尾市| 平远县| 丰顺县| 宜昌市| 广丰县| 响水县|