用C ++打印套接字时,数字代表什么?

问题描述

SOCKET sampleSocket;
cout << sampleSocket << endl;
// End up with a number

我注意到当我使用cout打印套接字时,会收到一个数字-该数字代表什么,在使用cout之外如何检索它?

解决方法

在Winsock应用程序中,套接字描述符不是文件描述符,必须与Winsock函数一起使用。 [...]因为SOCKET类型是无符号的,所以例如从UNIX环境中编译现有源代码可能会导致编译器警告有关有符号/无符号数据类型不匹配的情况。

(请参见Socket Data Type

从本文档中,我们可以收集到它是unsigned数据类型。但是,确切的整数类型仍然是实现定义的。可能是32位或64位unsigned整数。