如何在linux套接字编程中从服务器向客户端发送和接收字符指针数组char * argv []

时间:2010-12-01 09:08:25

标签: c linux sockets

我有一个像

这样的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);,因此我不确定如何投射“选项”,以便发送和接收可以在一个函数调用中进行。

2 个答案:

答案 0 :(得分:2)

您必须发送实际的字符串。指针是你机器上的内存地址,只能在你的程序中访问/ meanafulful。

即使客户端和服务器位于同一台计算机上,操作系统也会阻止任何访问客户端程序内存的尝试。

答案 1 :(得分:0)

发送指针不会发送数据。为了让你传输这样的字符串,你需要提出一个协议来发送数据,或者保证发送方和接收方是相同的进程(或者至少在同一个地方共享相同的内存)