我有一个与服务器和客户端程序的简单 TCP 连接。我在服务器和客户端都做了一个简单的结构作为消息传递:
struct {int c; char** v;} msg;
我只是想从客户端发送 argc 和 argv(来自终端的输入):
int main(int argc, char **argv){
...
msg.c = argc;
msg.v = argv;
sendto(Socket, &msg, sizeof(msg), 0, (struct sockaddr *)&input, sizeof(input));
但是当发送到服务器时,我可以调用 msg.c 来获取号码,我可以使用它,但是如果我尝试使用字符串数组,我会遇到 seg 错误:
recvfrom(Socket, &msg, sizeof(msg), 0, (struct sockaddr *)&input, &sizep);
printf("%d\n", msg.c);
printf("%s\n", msg.v[2]);
我只用一个试过这个,char *
我也无法发送字符串。
我究竟做错了什么?