
概述
socket() --得到文件描述符!
bind() --我们在哪个端口?
connect() --Hello!
listen() --有人给我打电话吗?
accept() --"Thank you for calling port 3490."
send() 和 recv() --Talk to me, baby!
sendto() 和 recvfrom() --Talk to me, DGRAM-style
close() 和 shutdown() --滚开!
getpeername() --你是谁?
gethostname() --我是谁?
DNS --你说“白宫”,我说 "198.137.240.100"
--------------------------------------------------------------------------------
【文章福利】需要C/C++ Linux服务器架构师学习资料加群1106747042(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等)

socket函数
功能:指定协议类型
定义:
#include <sys/types.h>
#include <sys/socket.h>
int socket(int family, int type, int protocol);
返回值
出错: -1
成功: 套接口描述字 (socket file descriptor)(套接字)sockfd
socket 函数指定了协议族(IPv4、IPv6或unix)和套接口类型(字节流、数据报或原
始套接口)。但并没有指定本地协议地址或远程协议地址。
理解socket
socket使用 Unix 文件描述符 (file descriptor) 和其他程序通讯的方式。
Unix 程序在执行任何形式的 I/O 的时候,程序是在读或者写一个文件描述符。
一个文件描述符只是一个和打开的文件相关联的整数。
这个文件可能是一个网络连接,FIFO,管道,终端,磁盘上的文件或者什么其他
的东西。Unix 中所有的东西是文件!因此,与 Internet 上别的程序通讯的时候,
要通过文件描述符。利用系统调用 socket()得到网络通讯的文件描述符。他返回
套接口描述符 (socket descriptor),然后再通过他来调用 send()

本文详细介绍了Linux下socket编程的基本步骤,从socket函数获取文件描述符开始,涵盖bind、connect、listen、accept等关键函数的使用,直至close关闭连接。通过对这些函数的理解,读者能够掌握TCP连接的建立、管理和关闭过程。
最低0.47元/天 解锁文章
1590

被折叠的 条评论
为什么被折叠?



