C++套接字 - 我只能发送字符吗?

Kai*_*ije 4 c++ sockets winapi

我正在使用带有win32窗口的同步套接字,并使用send()和recv()函数通过Internet TCP发送数据;

我想知道的是,我将如何在tcp套接字上发送一些整数甚至我自己的类/结构?因为send()函数只允许我发送字符.

我只需要发送字符然后将它们转换为带有atoi()的整数吗?或者如果我想发送一个类结构,我会发送许多字符串,然后将它们放在变量中.一个接一个.

Nic*_*ott 5

它不是在文本意义上发送字符 - 它发送连续的字节数组,它指的是使用char*.你可以用这种方式指向任何值类型的字节,所以如果你想发送一个int,

int A = 5;
const char* pBytesOfA = (const char*)&A;
int lengthOfBytes = sizeof(A);

send(socket, pBytesOfA, lengthOfBytes, flags);
Run Code Online (Sandbox Code Playgroud)