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:私は長さの値を取得することができます