繁体   English   中英

C ++服务器和Java客户端聊天[关闭]

[英]C++ server and java client chat [closed]

;)

我用C ++服务器和Java客户端编写了一个聊天程序。

负责从客户端接收消息的功能的代码为:

void *recieve(void* *v)
{
    while (true)
    {
        bzero(buffer, 256);
        n = read(socketfd, buffer, 256);
        if (n < 0)
            exit(1);
        printf("Client: %s", buffer);
    }
}

负责将消息发送到服务器的函数thar的代码仅是:

ps.println(msg);

ps是一个打印流。

当我向服务器发送消息时,在c ++服务器上说“ hello world”:“ Client:hello worldClient”。

如果有人可以帮助我,我将不胜感激。 (如果我的英语不好,我深表歉意)谢谢!

read()函数到达文件末尾时将返回0。

因此,在您的情况下,有一个第一个循环迭代接收"Hello world" ,然后又有一个迭代,除了read()返回0外,将不接收任何read()因此,“ Client:”显示为空字符串。

此外,请注意:

  • 对于基于套接字的通信,不能保证服务器端的一个read()会与客户println()一个println()相对应。 因此,对于较长的邮件,您将冒着分批接收的风险。 然后,在输出中,您会在消息文本中看到几个“客户端”。
  • Java端发送的行分隔符不一定与在服务器端预期的行分隔符相对应,如果您正在跨平台工作的话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM