Linux C 第十五章网络编程十个问题及解答(2)
1.什么是大端模式,什么是小端模式?
内存的低地址存储数据的低字节,高地址存储数据的高字节的方式叫做小端模式;
内存的高地址存储数据的高字节,低地址存储数据的低字节的方式叫做大端模式。
2.地址格式转换需要用到什么函数?
inet_aton 函数用于将网络地址转换成网络二进制的数字;
inet_ntoa 函数用于将网络二进制的数字转换成网络地址。
3名字地址转化需要用到什么函数?
gethostbyname 函数:用于将域名或主机名转换成Ip地址;
gethostbyaddr 函数:用于将IP地址转换成域名或主机名。
4.UDP适用于何种场合?
UDP协议比TCP协议更加有效,也能更好的解决实施性的问题。如今,包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都使用UDP协议。
5.Socket套接字的概念?
Socket是一种特殊的I/O接口,也是一种文件描述符。它是一种常用的进程之间通信机制,通过他不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。
6.Socket有哪几种?
流式Socket:用于TCP通信;
数据报Socket:用于UDP通信;
原始Socket:用于新的网络协议实现的测试等。
7.关于Socket的函数有哪些?
Socket函数: 建立一个Socket通信;
bind函数:对Socket定位;
listen函数:等待连接;
accept函数:接受Socket连线;
connect函数:建立Socket连线;
send函数:通过Socket传送数据;
recv函数:通过Socket接收数据;
recvfrom函数:通过Socket接收数据。
8.并发服务器模型实现的方法?
多进程
多线程
调用fcntl将sockfd设置为非阻塞模式
9.UDP的通信流程
服务端:socket->bind->recvfrom->sendto->close
客户端:socket->sendto->recvfrom->close