此问题使用此处找到的 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);
...
看来我应该能够用这几行来做到这一点。但是代码的行为与原来的完全一样!这是怎么回事?