日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C语言网络编程:socket函数

發布時間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言网络编程:socket函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數描述

  • 頭文件 <sys/types.h> <sys/socket.h>

  • 函數使用int socket(int domain, int type, int protocol);

  • 函數功能:創建一個通信的終點,并返回一個文件描述符來代表通信的終點

  • 函數參數:
    a. domain 代編當前創建的socket文件描述符使用的是哪一個協議族進行通信,這些協議族都包含在sys/socket.h,其中主要的協議族如下:

    • AF_UNIX, AF_LOCAL 本地進程通信
    • AF_INET IPV4網絡傳輸層協議
    • AF_INET6 IPV6網絡傳輸層協議
    • AF_IP IPX-Novell協議
    • AF_NETLINK 內核用戶接口設備
      當前正式得協議族描述已經變為PF_INET。。。
      TCP/IP協議族如下

    b. type函數socket()的參數type用于設置套接字通信的類型,指定使用TCP/IP協議族中的哪個子協議進行通信,主要有SOCKET_STREAM(流式套接字)、SOCK——DGRAM(數據包套接字)

    • SOCK_STREAM 提供有序的、可靠的、雙鏈接的、字節流數據傳輸;主要是用作TCP鏈接時的數據傳輸,此時如果想要使用TCP協議,則將domain設置為AF_INET即可
    • SOCK_DGRAM 支持無鏈接、不可靠的數據傳輸,數據傳輸時定長;主要時用作UDP鏈接時的傳輸
    • SOCK_SEQPACKET 提供有序的,可靠的,雙鏈接的數據傳輸通道,數據長度定長,使用的時候需要將數據全部讀出
    • SOCK_RAW RAW類型,提供原始網絡協議訪問;即此時我們使用的通信協議為IP 協議
    • SOCK_RDM 提供可靠的數據報文,不過可能數據會有亂序
    • SOCK_PACKET 當前通信類型已經過時,不應在通信程序中使用
    • SOCK_NOBLOCK 將socket返回的文件描述符指定為非阻塞的,類似SOCK_STREAM | SOCK_NOBLOCK 表示使用面向鏈接的數據傳輸同時非阻塞
    • SOCK_CLOEXEC 表示一旦進程執行exec系統調用之后,將會自動關閉socket返回的套接字文件描述符

    c. protocol 特例化來一個協議,用來指定協議號
    一般情況下protocol寫0,表示使用domaintype指定的協議,不過如果domaintype所指定的協議有好幾個時,此時就需要通過具體的協議號來區分,否則寫0即可。
    所有的協議編號都被保存在了/etc/procotols下,tcp協議編號為6,udp協議編號為17

    ip	0	IP		# internet protocol, pseudo protocol number
    hopopt	0	HOPOPT		# IPv6 Hop-by-Hop Option [RFC1883]
    icmp	1	ICMP		# internet control message protocol
    igmp	2	IGMP		# Internet Group Management
    ggp	3	GGP		# gateway-gateway protocol
    ipencap	4	IP-ENCAP	# IP encapsulated in IP (officially ``IP'')
    ...
    

    類似如下
    socket (AF_INET, SOCK_STREAM,6);socket (AF_INET, SOCK_STREAM,0);都代表tcp協議

代碼舉例

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <errno.h>void print_err(char *str, int line, int err_no) {printf("%d, %s :%s\n",line,str,strerror(err_no));_exit(-1);
}int main()
{int skfd = -1;/*創建使用TCP通信的套接字文件描述符*/skfd = socket(AF_INET, SOCK_STREAM, 0);if ( -1 == skfd) {print_err("socket failed",__LINE__,errno);}return 0;
}

總結

以上是生活随笔為你收集整理的C语言网络编程:socket函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三级黄片毛片 | 麻豆精品国产传媒mv男同 | 久久av红桃一区二区小说 | 精品国产av无码一区二区三区 | 中文字幕理伦片免费看 | 色婷婷香蕉在线一区二区 | 爱爱亚洲 | 青草视频在线播放 | 麻豆传媒网| 二区免费视频 | 男女裸体无遮挡做爰 | 国产r级在线观看 | 亚洲网址| 高清一区二区在线 | 干干干日日日 | 欧美色图一区 | 美女黄色录像 | 美女扒开屁股让男人捅 | 99久久久成人国产精品 | 亚洲国产精品成人午夜在线观看 | 欧美色图在线观看 | 最新国产拍偷乱偷精品 | 天天综合天天添夜夜添狠狠添 | 国产又粗又黄又爽又硬 | 亚洲AV成人无码精电影在线 | 精品久久ai| 四虎影视最新网址 | 99成人在线观看 | 国产一区二区三区在线免费 | 国内一区二区 | 一级免费黄色片 | 久久国产免费看 | 色爽 | 福利片网址 | 在线观看毛片视频 | а√中文在线资源库 | 激情a| 超碰人人人人 | 亚洲第一中文字幕 | 夫妻毛片 | 青青草日本 | 九九热色 | 色乱码一区二区三在线看 | 亚洲一区二区三区四区在线观看 | 91丨国产丨白丝 | 欧美拍拍| 天天综合网在线观看 | 欧美韩国日本一区 | 中文在线观看免费 | 老司机深夜福利视频 | 在线久| 五月天激情综合 | 中文字幕一区二区在线老色批影视 | 人妻色综合网站 | 亚洲色图插插插 | 天天艹日日干 | 欧美xx视频| 涩五月婷婷| 手机av中文字幕 | 成人免费黄色大片v266 | 在线不卡国产 | 国产成人视屏 | av资源一区| 久久韩国| 黑人操日本女人视频 | 亚洲不卡免费视频 | 欧美乱大交xxxxx春色视频 | 欧美日韩国 | 亚洲av综合av一区二区三区 | 波多在线视频 | 久久噜噜色综合一区二区 | 亚洲69av| 曰韩在线 | 金瓶狂野欧美性猛交xxxx | 少妇高潮视频 | 婷婷五月精品中文字幕 | 天天爽夜夜爽一区二区三区 | 一级二级在线观看 | 成人精品国产免费网站 | 久热这里只有精品在线 | 超碰牛牛 | 国产一区精品久久 | 人妻互换一区二区三区四区五区 | 69av视频在线观看 | 亚洲精品一区中文字幕乱码 | 亚洲激情视频在线 | 久久人人爽人人爽人人片 | 成人在线免费视频播放 | 日本伦理中文字幕 | 一个色av| 日韩综合另类 | 亚洲淫视频 | 内射合集对白在线 | 91免费观看网站 | 日韩中文字幕在线观看 | 日日夜夜网站 | 精品国产鲁一鲁一区二区张丽 | 99热这里有 | 国产精品一二三四区 |