winsock编程api:(一个和协议无关的接口)
1.nagle算法?
2.可靠性和次序性两者不能兼而得之,保证了数据包顺序,就不能自动保证数据的完整性。这是为什么?
3.那我们是否考虑网络通讯中的滞后现象?
4.在局域网中若一台工作站发出一个消息,那么各台机器需花时间来处理这个数据包,看是否有应用对它感兴趣。这样一台机子中病毒会减慢整一个网络。如前期的“冲击波”使整个局域网瘫痪。而路由其对广播包可以拒绝传输。
5.协议的可路由的含义:路由协议对于路由器而言它是对路由协议的一种挑战,它对非路由协议的数据包一概抛掉,其中NetBEUI是最不幸的,她不能路由。
NetBEUI: NETBEUI是为IBM开发的非路由协议,用于携带NETBIOS通信。NETBEUI缺乏路由和网络层寻址功能,既是其最大的优点,也是其最大的缺点。因为它不需要附加的网络地址和网络层头尾,所以很快并很有效且适用于只有单个网络或整个环境都桥接起来的小工作组环境。
6.WSAenumprotocals:网络协议的安装信息的获得。
WSAstartup:打开一个新的winsoke
int WSAStartup(WORD wVersion Requested , LPWSADATA lpWSAData)
其中WSAData的结构是:
struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYSSTATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char FAR * lpVendorInfo;
};
7.WSAClentup:当不用一个winsoke后的清除工作。
8.套接字:指向传输提供者的句柄(句柄的解释在上次日记中有详细记载)。
建立套接字(socket):
SOCKET socket (
int af,
int type,
int protocol
);
9.其中立套接字的前三个参数组织成三级。第一个同时也是最重要的参数是地址家族。它指定准备使用哪种协议,另外还为第二和第三个参数指定有效选项。比如,如果选择了AT M地址家族( A F _ AT M ), 那么在选用套接字类型时, 就会限定只能采用原始套接字(S O C K _ R AW)。其中WSASocke可以提供更全面的参数链表。