2010-12-01 8 views
0

は私が持っている私は、サーバーから「オプション」を送信するにはどうすればよい* ARGV [] Linuxのソケットプログラミングでは、サーバからクライアントへ

char *options[n] ; // n = 2 just for example . 

options[0] = "How to"; 

options[1] = "Send"; 

のようなのchar *の配列クライアント、sendのような1つの関数呼び出しを使用します。 sendのプロトタイプはint send(int sockfd, const void *msg, int len, int flags);receive is int recv(int sockfd, void *buf, int len, int flags);のようなものなので、1つの関数呼び出しで送受信ができるように "オプション"をキャストする方法はわかりません。

答えて

2

実際の文字列を送信する必要があります。ポインタはあなたのマシン上のメモリアドレスであり、あなたのプログラムの中でのみアクセス可能です。

クライアントとサーバーが同じマシン上にあったとしても、OSはクライアントプログラムメモリにアクセスしようとするどんな試みもブロックします。

0

ポインタを送信してもデータは送信されません。そのような文字列を送信するには、データを送信するプロトコルを用意するか、送信者と受信者が同じプロセスであることを保証するか(少なくとも同じ場所で同じメモリを共有する) 。

関連する問題