0

我有一个服务器和一个客户端程序,它们通过套接字连接相互通信。它发送我通过 telnet /(或终端?在 mac 上)监控的数据字符串。

当我使用我的 MAC 作为服务器并将我的 PC 作为客户端时,它工作正常。当我将 MAC 用作客户端并将 PC 用作服务器时,它不起作用......(!?)

可能是 "\n\r"因为有两个不同的操作系统,它的解释器(EOL?)不同吗?

有没有人有关于如何轻松解决这个问题的线索/提示/解决方法?

4

2 回答 2

1

Windows 实际上\r\n用作 EOL。不过,它不应该在不同的操作系统上表现不同。Mac 使用\r,因此它忽略\n,反之亦然 *nix。Windows 忽略两者\r\n除非它们在 order 中彼此相邻\r\n

使用 EOL 进行编程时,大多数语言仅\n在必要时使用并自动转换格式。

于 2012-10-26T19:13:56.203 回答
0

如果我没记错的话,Mac 使用 CR ("\r") 作为它们的单个行尾字符。由于 Windows 使用 "\r\n" (CR-LF) 作为行尾,您可能需要在代码中对此进行补偿。

于 2012-10-26T19:16:36.247 回答