与 irc 服务器的连接阶段
Posted
技术标签:
【中文标题】与 irc 服务器的连接阶段【英文标题】:stapes of connection with irc server 【发布时间】:2015-11-27 09:22:49 【问题描述】:我开发了一个 irc 服务器程序。我的问题是我可以进行连接的前半部分,也就是说我在服务器中收到了客户端发送的昵称和用户,但是当我想为客户端发送消息或任何不起作用的响应时
if ((client_fd = accept(socket_fd, (struct sockaddr *)&dest, &size))==-1)
//fprintf(stderr,"Accept Failure\n");
perror("accept");
exit(1);
printf("Server got connection from client %s\n", inet_ntoa(dest.sin_addr));
buff="RPL_WELCOME";
send(client_fd,buff, strlen(buff),0);
【问题讨论】:
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例。 RPL_WELCOME 不是实际命令。当标准说 RPL_WELCOME 时,他们的意思是查找名为 RPL_WELCOME 的代码,然后发送该代码(它是一个 3 位数字)。 buff="001";发送(client_fd,buff,strlen(buff),0);我这样做了,但它不起作用 【参考方案1】:uint32_t some_long =001;
uint32_t network_byte_order;
// convert and send
network_byte_order = htonl(some_long);
send(client_fd, &network_byte_order, sizeof(uint32_t), 0);
我修改了我的函数发送这样并且客户端没有响应:/
【讨论】:
以上是关于与 irc 服务器的连接阶段的主要内容,如果未能解决你的问题,请参考以下文章