liunx网络编程2

1.简述客户与服务之间的关系?

  服务器是为互联网用户提供服务的应用程序;而客户是服务的请求者。应用程序包括服务器部分和客户部分,这两部分既可以在相同的系统上运行,也可以在不同的系统上运行。用户通常调用应用程序的客户部分,构建特定服务的请求,并用TCP/IP作为传输工具把这个请求发送到应用的服务部分。

 

 

2.网桥与网关有什么区别

网桥是一个局域网与另一个局域网之间建立连接的桥梁。工作在数据链路层,将两个Lan连起来,根据Mac地址来转发帧,可以看作一个低层的路由器;

网关实质上是一个网络通向其他网络的IP地址。就是两个网络通过路由器相连的两个路由器的IP地址。

 

 

 

3. TCPUDP各适合哪些方面?

  TCP:(传输控制协议)为应用程序提供可靠的通信连接,适合一次传输大批数据的情况,并适用要求得到相应的应用程序。

  UDP:(用户数据包协议)提供无连接通信,且不对传送包进行可靠的保证,适合一次传输少量数据。

 

4.TCP/UDP如何选择

对数据要求高可靠性的应用需选择TCP协议,对数据可靠性要求不那么高的应用可选择UDP协议;

使用TCP协议会有较大的时延,因此不适合对实时性要求较高的应用,相反,UDP协议能在这些应用中发挥很好的作用;

在网络状况不是很好的状况下需选用TCP协议,但是若在网络状况很好的情况下,就不需要再采用TCP协议,而建议选用UDP协议来减少网络负荷

 

 

 

5. 什么是套接字

Socket是一种特殊的I/O接口,也是一种文件描述符。是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信



6. 将点分十进制转换成网络字节序的两个函数的区别

将点分十进制转换为网络字节序的函数有inet_addr 和 inet_aton

 

但是,这两个函数是有区别的,inet_addr 函数如果出错会返回 -1,即 0xffffffff,因些地址 255.255.255.255 是无法转换的,虽然将此地址转换成的结果也是 0xffffffff,但是错误的 ip 地址比如 300.200.200.200 转换的结果也是 0xffffffff,所以 inet_addr 在不十分严谨的情况下才会使用。

 

inet_aton 是比较正式的,它单独使用返回值判断转换的地址是否有效,如果返回为 0,表示转换的地址是错误的。

 

 

7.知识点总结

v in_addr_t 和 in_addr 的区别和联系

v in_addr 是网络字节序的

v in_addr_t 是什么字节序是不确定的

v 掌握相关的转换函数

v inet_addr 和 inet_aton 的区别


猜你喜欢

转载自blog.csdn.net/ys5858588/article/details/78740868
今日推荐