c/c++笔试总结

 

1.winsock建立连接的主要实现步骤?

答:服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()

等待客户端连接。

客户端:socker()建立套接字,连接(connect)服务器,连接上后使用send()和recv(),在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。

服务器端:accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,closesocket()关闭套接字。

 

2.动态连接库的两种方式?

答:调用一个DLL中的函数有两种方法:

1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数

,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向

系统提供了载入DLL时所需的信息及DLL函数定位。

2.运行时动态链接(run-time dynamic linking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入库文件了。

 

3.IP组播有那些好处?

答:Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧

消耗和网络拥挤问题。组播是一种允许一个或多个发送者(组播源)发送单一的数据包

到多个接收者(一次的,同时的)的网络技术。组播可以大大的节省网络带宽,因为无

论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播

技术的核心就是针对如何节约网络资源的前提下保证服务质量。

 

4.数组名可以 作为其指代实体的指针使用,是一个指针常量,不能作自增,自减等操作,不能被修改,作为函数形参时,沦为普通指针,失去常量特性,可以做自增自减修改等操作。

你可能感兴趣的:(c/c++笔试总结)