jasmine214--love

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

          socket簡單理解

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

            二.Socket基本通信模型

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

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

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

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

            操作TCPsocket的圖示: 

          Android開發之Socket編程

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

          原文 :

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

          主站蜘蛛池模板: 武平县| 霍山县| 石狮市| 岳西县| 上杭县| 镇远县| 闵行区| 石渠县| 紫金县| 廊坊市| 宜兴市| 万载县| 增城市| 错那县| 屯门区| 全椒县| 绥化市| 大理市| 宽甸| 石嘴山市| 右玉县| 千阳县| 孝感市| 东阳市| 禄丰县| 登封市| 宁晋县| 盐津县| 宁化县| 安顺市| 北安市| 潢川县| 白玉县| 游戏| 大丰市| 长岛县| 桂东县| 昌黎县| 红桥区| 子长县| 望谟县|