我出的网络中的一些题目。
1、win与LINUX下的套接字的数据类型是不是一样的?(不要告诉我一个是SOCKET,一个是int,所以不一样)
2、WIN系统下面最多可以有多少个套接字?
3、为什么socket的第三个参数(协议参数)有人设定为0?
4、connect是TCP用的吧,我可不可以将他用到UDP上,这样做有没有意义?
5、同一个程序中,我因为程序中的BUG,两次调用了bind函数,绑定的同一个IP地址和端口号,但是我在绑定前都设置了REUSEADDR选项,这样做会不会报错,假如会报错的话,在哪里会报错,是BIND的时候,还是ACCEPT的时候,假如不会报错。客户端去连的时候哪个SOCKET能ACCEPT到?
6、connect的时候对方服务器有套接字在监听,但是没有accept,这种情况下connect过程经过了几次交换包?什么时候会返回?
7、connect会堵塞,你一般用什么方法来防止堵塞?
8、堵塞套接字中的recv假如想读1000个字节,但现在一开始只读了100个,他是立即返回还是继续等待到1000个字节全读完再返回?
9、堵塞套接字中的send假如想发送1000个字节,但现在一开始只发了100个,他是现在就返回,还是等待继续发送,直到发完或出错再返回?
10、一个套接字关闭后经常会有一个TIME_WAIT状态,这种状态有什么用,假如想防止他的话,用什么办法,这种办法对最后的交换包有什么影响?
11、closesocket和shutdown会堵塞吗?
12、客户端程序崩溃的时候一般会不会向服务器发包,假如会的话,发的是什么包?
13、客户机网线突然掉了,服务器能不能立即知道(服务器当时没有读的动作),假如不能的话,你用什么办法来得知?
14、UDP服务器中,假如有session data的话,你在recvfrom的时候如何得到这个session data的指针?
15、Keepalive和自己发送存活包哪种方法更有效?
16、listen的第二个参数究竟有什么作用?
17、select大概1000个读套接字的话,每次查找一个套接字是否处于可读大概需要多长时间?
18、完成端口中你是怎么样实行完美关闭的?
19、流量控制你是怎么做的?
20、发往127.0.0.1的包经过网卡发送吗?