我有一个像
这样的char *数组 char *options[n] ; // n = 2 just for example .
options[0] = "How to";
options[1] = "Send";
如何使用send等一个函数调用从服务器向客户端发送“选项”。由于发送原型类似于int send(int sockfd, const void *msg, int len, int flags);
和receive is int recv(int sockfd, void *buf, int len, int flags);
,因此我不确定如何投射“选项”,以便发送和接收可以在一个函数调用中进行。
答案 0 :(得分:2)
您必须发送实际的字符串。指针是你机器上的内存地址,只能在你的程序中访问/ meanafulful。
即使客户端和服务器位于同一台计算机上,操作系统也会阻止任何访问客户端程序内存的尝试。
答案 1 :(得分:0)
发送指针不会发送数据。为了让你传输这样的字符串,你需要提出一个协议来发送数据,或者保证发送方和接收方是相同的进程(或者至少在同一个地方共享相同的内存)