Linux网络编程------网络编程基础
Socket(套接字),类似文件描述符,三种
1、流式套接字(SOCK_STREAM):可以提供可靠的、面向连接的通讯流,它使用TCP协议。TCP保证了数据传输的正确性和顺序性。
2、数据报套接字(SOCK_DGRAM):定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠,无差错,它使用数据报协议(UDP)。
3、原始套接字(SOCK_RAW):直接基于IP协议。
网络地址
struct sockaddr用于记录网络地址:
struct sockaddr
{
u_short sa_family;//协议族,采用“AF_xxx”形式,如:AF_INET(IP协议族)
char sa_data[14];//14字节特定协议地址
}
但常用的是sockaddr_in记录网络地址
struct sockaddr_in
{
short int sin_family;//协议族
unsigned short int sin_port;/*端口号*/
struct in_addr sin_addr;//协议特定地址
unsigned char sin_zero[8];/*填0*/
}
struct in_addr{
union{
struct{
unsigned char s_b1,s_b2,s_b3,s_b4;
}S_un_b;
struct{
unsigned short s_w1,s_w2;
}S_un_w;
unsigned long S_addr;
}S_un_w;
}IN_ADDR;
网络上bigendian(低字节先传输)
socket 编程函数
socket:创建套接字
bind:用于绑定IP地址和端口号到socket
connect:该函数用于与服务器建立连接
listen:设置服务器能处理的最大连接要求
accept:等待来自用户客户端的socket连接请求
send:发送数据
recv:接收数据
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。