• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Android驅動開發入門及手機案例開發分析

    Android驅動開發入門及手機案例開發分析

    作者: 時間:2012-07-25 來源:網絡 收藏

    在網絡編程中,cONnect函數通常用于客戶端建立tcp連接。使用的步驟如下:

    本文引用地址:http://www.czjhyjcfj.com/article/148721.htm

    1) 創建流式套接字

    int sockfd;

    if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) 0)

    {

    perror(“fail to socket”);

    exit(-1);

    }

    2) 填充服務器端地址信息

    struct sockaddr_in servaddr;

    servaddr.sin_family = PF_INET;

    servaddr.sin_port = htons(8888);

    servaddr.sin_addr.s_addr = inet_addr(“192.168.1.100”);

    3) 發送連接請求

    if (connect(sockfd, (struct sockaddr *)serv_addr, sizeof(serv_addr)) 0)

    {

    perror(“fail to connect”);

    exit(-1);

    }

    注:如果客戶端的套接字沒有綁定ip地址和端口的話,在連接過程中系統會自動分配。tcp連接的建立實際上就是三次“握手”的過程。

    udp協議提供的是面向非連接的服務,通信雙方不需要建立連接。一方只需要建立好套接字,并顯式或由系統綁定地址和端口號后就可以發送/接收數據包。和tcp不同的是,使用udp協議的數據報套接字(SOCK_DGRAM)并不限定唯一的通信方。既可以發送(sendto)數據給任意的接受方,也可以從任意的發送方接收(recvfrom)數據。

    如果希望為一個數據報套接字指定唯一的通信方時,可以使用connect來實現這一功能。需要注意的是,在數據報套接字上使用connect并不是建立連接,不存在“握手”的過程。僅僅是為這個套接字指定一個通信方,一旦指定了對方的地址,就可以通過send/recv來發送/接收數據了。而且可以在這個數據報套接字上多次調用connect函數來指定不同的通信方。

    在udp中使用connect的方法和tcp中類似,只需在創建套接字時,把套接字的類型由SOCK_STREAM換成SOCK_DGRAM即可。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 神池县| 拉萨市| 财经| 辛集市| 普兰店市| 浑源县| 新干县| 平湖市| 深泽县| 尚志市| 柞水县| 名山县| 伊宁县| 定安县| 宜都市| 交城县| 广南县| 宣城市| 连江县| 封开县| 鄂伦春自治旗| 芜湖县| 迁安市| 土默特右旗| 防城港市| 会泽县| 六盘水市| 商河县| 永州市| 卓资县| 涪陵区| 长乐市| 商南县| 昔阳县| 大竹县| 新竹县| 永丰县| 天门市| 甘洛县| 浏阳市| 凤城市|