色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > connect函數的用法
connect函數的用法
時間:2017-01-04作者:華清遠見

在網絡編程中,connect函數經常用來在套接字上初始化連接。無論是流式套接字還是數據報套接字都可以使用connect函數,但含義卻不一樣。下面我們分別來討論一下:

一、 流式套接字

流式套接字通常使用的是面向連接的協議,如TCP協議。該類型套接字在雙方通信之前要先建立連接。具體說就是服務器端創建監聽套接字并綁定地址,客戶端調用connect函數建立連接。該函數原型如下:

int connect(int sockfd, const struct sockaddr &serv_addr, socklen_t addr_len);

sockfd是客戶端創建的流式套接字;serv_addr指向存放服務器地址信息的結構體;addr_len是該結構體的長度。

實際上,我們通過抓包分析可以得知:客戶端和服務器端通過如下三次握手后即建立好了連接。

                    SYN
        客戶端 -----------------> 服務器端
                            ACK,SYN
        服務器端 -----------------> 客戶端
                            ACK
        客戶端 -----------------> 服務器端

一旦建立好連接,客戶端就可以通過該套接字和服務器端通信了。需要注意的是:因為是建立好了連接,所以使用send/recv發送/接收數據,無需指定對方
的地址。但一個套接字只能connect一次。如果客戶端要和其他的服務器通信的話,必須再創建一個流式套接字,重新連接。

二、 數據報套接字

數據報套接字通常使用的是無連接的協議。該類套接字在雙方通信之前不用先建立連接,可以直接使用sendto/recvfrom收發數據。但在發送數據時必須指定對方的地址;在接收數據時通常也需要保存對方的地址。

看到這里大家應該發現了流式套接字和數據報套接字的一個區別:前者只能和一方通信;后者可以和多方通信。

數據報套接字同樣可以使用connect函數,但含義并不是建立連接而是限定該套接字只和指定的一方通信。即未使用connect之前,可以和任意的地址通信;而connect之后只能和一方通信。

一旦connect之后,數據報套接字也可以使用send/recv收發數據了。如果想和其他的地址通信的話,可以重新connect指定新的地址。

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 少妇一级免费 | 一二三四社区在线中文视频 | 少妇性L交大片 | 8x8x成人网 | 国产va免费精品观看精品 | 老色鬼永久精品网站 | 一本一本久久A久久综合精品蜜桃 | 末成年av女网站 | 日日舔 | 国产浮力第一页草草影院 | 日韩吃奶摸下AA片免费观看 | 日本va欧美va欧美va精品 | 国产美女自慰在线观看 | 狠狠狠狼鲁亚洲综合网 | 欧洲性XXXX免费视频在线观看 | 小荡货腿张开让我cao视频 | 久久人人97超碰超碰窝窝 | 又硬又粗进去好疼A片麻豆 中文字幕一区二区三区视频 | 国产成人精品免费视频大全软件 | 麻豆成年进入人口 | 九九热线精品视频16 | 久久这里只精品国产免费99热4 | 亚洲中文字幕无码永久在线 | 国产拍拍拍无码视频免费 | 国产精品美乳在线播放 | 国产欧美日韩一区二区加勒比 | 亚洲偷精品国产五月丁香麻豆 | m麻豆传媒 | 国产真实乱对白精彩 | 久久久不卡网国产精品一区二区 | 色丁狠狠桃花久久综合网 | AV天堂亚洲狼人在线 | 吉林小伟无套gay | 奶涨边摸边做爰爽别停快点文 | 中文字幕日产乱码中 | 亚洲AV无码专区色爱天堂老鸭窝 | 欧美人人超人人视频 | 欧美疯狂性受XXXXX另类 | 三年片在线观看免费大全爱奇艺 | 亚洲成Av人片在线观看不卡 | 日韩视频一区二区三区在线观看 |