我正在使用C中的套接字和线程聊天服务器,但我有不同的问题: - 我无法使用他的昵称发送消息给客户端 - 发送邮件时出现问题,并附上客户端发件人昵称 您能帮我解决这个问题吗?C - 带线程的套接字聊天服务器 - 昵称数组
我怎样修正绰号:
/* Asks for client nickname */
if (strcmp(clients_nick[client], "") == 0) {
write(fd, msg, strlen(msg) * sizeof(char));
int rc = read(fd, buf, BUFLEN);
if (rc > 0) {
/* Deleting the character \n */
buf[strlen(buf) - 1] = '\0';
snprintf(clients_nick[client], MAX_NICK_LENGTH - 1, "%s", buf);
}
}
如何发送消息: 空隙 client_write_message( 字符* MSG, INT client_sender, INT client_receiver) { 字符*缓冲液; buffer = calloc(BUFLEN,sizeof(char));
snprintf(buffer, BUFLEN, "[%s", clients_nick[client_sender]);
buffer[strlen(clients_nick[client_sender])] = ']';
snprintf(buffer, BUFLEN, " %s", msg);
write(clients[client_receiver], msg, strlen(msg) * sizeof(char));
buffer[0] = '\0';
free(buffer);
}
不要发布数百行代码,并询问关于它的一般问题,我们必须在代码中进行搜索。不要发布显示问题的最短代码,并提出具体问题,并尽可能在代码中指出。 –
'client','client_sender'和'client_receiver'之间有什么区别?为什么不只是将所需的'clients_nick'数组成员预先添加到发送给客户端的任何内容中? – Will