我正在从用 C 实现的服务器向客户端发送字符串消息。为了做到这一点,我首先发送消息的长度,然后发送实际消息。以下是来自我的服务器的代码片段。
int length = strlen(message);
send(serversock, &length, sizeof (int), 0);
send(serversock, message, sizeof (char) * length, 0);
以下是我客户的代码:
int length;
recv(clientsock, &length, sizeof (int), 0);
printf("size: %d\n", length);
char* message;
recv(clientsock, message, sizeof (char) * length, 0);
printf("Got Message %s\n", message); // I get Segmentation Fault here
当我收到一条消息时,我尝试将其打印出来。但是,我遇到了分段错误。任何人都可以帮助我吗?
PS:我确实设法获得了长度值