gpt4 book ai didi

C,操纵服务器/客户端代码以使其在接受时写入消息?

转载 作者:行者123 更新时间:2023-11-30 18:00:54 25 4
gpt4 key购买 nike

这个问题使用了server.c和client.c的代码found here.

我希望服务器在客户端连接时向客户端发送消息。

从文章中可以看到,代码的作用是让服务器等待客户端连接,监听它,然后打印出客户端给它的消息,并向客户端发出警报。

这是我试图解决我的问题的方法(其他一切都完全相同)。服务器:

 ...
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);
...

看来我应该能够只用这几行来做到这一点。但代码的行为与原始代码完全相同!这是怎么回事?

最佳答案

对于服务器,插入

 bzero(buffer,256);
n = write(newsockfd,"Client connected", 16);
if (n < 0) error("ERROR writing to socket");

accept()之后。

对于客户端,插入

bzero(buffer,256);
n = read(sockfd,buffer,255);
if (n < 0)
error("ERROR writing to socket");
printf("%s\n", buffer);

connect()之后。

这是你想要的吗?我认为您应该能够从现有代码的其余部分进行推断。

关于C,操纵服务器/客户端代码以使其在接受时写入消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10147660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com