日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]Android驅(qū)動(dòng)開(kāi)發(fā)入門(mén)及手機(jī)案例開(kāi)發(fā)分析

在網(wǎng)絡(luò)編程中,cONnect函數(shù)通常用于客戶端建立tcp連接。使用的步驟如下:

1) 創(chuàng)建流式套接字

int sockfd;

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

{

perror(&ldquo;fail to socket”);

exit(-1);

}

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

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) 發(fā)送連接請(qǐng)求

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

{

perror(“fail to connect”);

exit(-1);

}

注:如果客戶端的套接字沒(méi)有綁定ip地址和端口的話,在連接過(guò)程中系統(tǒng)會(huì)自動(dòng)分配。tcp連接的建立實(shí)際上就是三次“握手”的過(guò)程。

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

如果希望為一個(gè)數(shù)據(jù)報(bào)套接字指定唯一的通信方時(shí),可以使用connect來(lái)實(shí)現(xiàn)這一功能。需要注意的是,在數(shù)據(jù)報(bào)套接字上使用connect并不是建立連接,不存在&ldquo;握手”的過(guò)程。僅僅是為這個(gè)套接字指定一個(gè)通信方,一旦指定了對(duì)方的地址,就可以通過(guò)send/recv來(lái)發(fā)送/接收數(shù)據(jù)了。而且可以在這個(gè)數(shù)據(jù)報(bào)套接字上多次調(diào)用connect函數(shù)來(lái)指定不同的通信方。

在udp中使用connect的方法和tcp中類(lèi)似,只需在創(chuàng)建套接字時(shí),把套接字的類(lèi)型由SOCK_STREAM換成SOCK_DGRAM即可。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉