この質問では、ここにあるserver.cとclient.cのコードを使用しています。
クライアントが接続したときにサーバーがクライアントにメッセージを送信するようにしたい。
記事からわかるように、コードの機能は、サーバーがクライアントの接続を待機し、それをリッスンしてから、クライアントからのメッセージとクライアントへのアラートを出力することです。
これが私の問題を解決するために私がやろうとしたことです(他のすべてはまったく同じです)。サーバ:
...
newsockfd = accept(sockfd,
(struct sockaddr *) &cli_addr,
&clilen);
if (newsockfd < 0)
error("ERROR on accept");
else
{
write(newsockfd,"I got your message",18);
}
....
そしてクライアント側では(繰り返しますが、他のすべては同じです):
...
if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0)
error("ERROR connecting");
bzero(buffer,256);
read(sockfd,buffer,255);
...
これらのカップルラインだけでこれを行うことができるはずです。ただし、コードの動作は元のコードとまったく同じです。どうしたの?