【发布时间】:2014-01-12 16:19:02
【问题描述】:
我正在使用 TCP 服务器中的 rand() 函数发送数据类型为 uint8_t 的大型一维随机值数组,但数据类型可能是一个问题,因为我在 TCP 客户端没有收到任何内容.控制台还向我显示,即使我使用的是 rand() 函数,代码每次都会生成相同的“204”值。
#define DEFAULT_BUFLEN 19200
int main(int argc , char *argv[])
{
WSADATA wsa;
SOCKET server_socket, client_socket;
struct sockaddr_in server_addr, client_addr;
int c, iResult;
char sendbuf [DEFAULT_BUFLEN];
int sendbuflen = DEFAULT_BUFLEN;
uint8_t* p;
int i;
// Send uint8_t data to client
p = (uint8_t*)sendbuf;
for (i = 0; i < 19200; i++)
{
p[i] = rand() % 256; //range 0-255 */
i++;
printf("%d\n", p[i]);
}
return 0;
iResult = send(client_socket, sendbuf, sendbuflen, 0);
}
【问题讨论】:
-
你在循环中增加了
i两次。 -
您需要先致电
srand -
还有你
return,然后再打电话给send。
标签: c