我有一个服务器和一个客户端程序,通过套接字连接与对方通话。 它发送通过telnet /(或Mac上的终端?)监视的数据字符串。 n r在不同的操作系统上有不同的表现吗?
它工作正常,当我使用我的MAC作为服务器和我的PC作为客户端。 它做,当我用我的MAC作为客户端不工作,PC作为服务器...(!?)
难道是它的interperets "\n\r"
(EOL?)不同,因为有两个不同OS?
有没有人有关于如何解决这个简单的线索/提示/解决方法?
我有一个服务器和一个客户端程序,通过套接字连接与对方通话。 它发送通过telnet /(或Mac上的终端?)监视的数据字符串。 n r在不同的操作系统上有不同的表现吗?
它工作正常,当我使用我的MAC作为服务器和我的PC作为客户端。 它做,当我用我的MAC作为客户端不工作,PC作为服务器...(!?)
难道是它的interperets "\n\r"
(EOL?)不同,因为有两个不同OS?
有没有人有关于如何解决这个简单的线索/提示/解决方法?
Windows实际上使用\r\n
作为EOL。不过,它在不同的操作系统上的表现应该不同。 Mac使用\r
,因此忽略\n
,反之亦然* nix。 Windows忽略\r
和\n
,除非它们以\r\n
的顺序彼此相邻。
使用EOL进行编程时,大多数语言只使用\n
,并在必要时自动转换格式。
如果我没有记错,Mac使用CR(“\ r”)作为他们的单行尾字符。由于Windows使用“\ r \ n”(CR-LF)作为行尾,因此您可能需要在代码中进行补偿。
在Windows上,EOL实际上是“\ r \ n”,而不是“\ n \ r”。试着改变它。 –