我正在开发一个简单的TCP服务器。为了与客户沟通,我使用StreamWriter
类,如下所示:
client.ClientWriter.WriteLine(command);
client.ClientWriter.Flush();
该命令是一个单词,后跟行终止符System.Environment.NewLine
。我的客户端(用Lua编写)检查这样的命令:
if data:find("INIT") then DoSomething()
elseif data:find("START") then DoSomethingElse()
...
else SendResponse("BAD REQUEST")
我使用VS2017开发了原始应用程序。当我在Windows机器上运行它时,该应用程序运行正常。
但是,我需要将我的应用程序部署到运行Mono的Linux。当我在Linux上测试应用程序时,我发送给客户端的每个命令都无法识别,并且返回了"BAD REQUEST"
。我无法在Windows机器上重现该问题。
编辑:经过一些测试,我可以在运行mono 4.2.1的Kubuntu上运行该程序;但我仍然无法在我的另一台机器上运行它(我需要部署的机器)运行mono 4.2.3。
造成这个问题的原因是什么?
答案 0 :(得分:0)
事实证明,这个问题只是一个更大的问题的症状。我从任务执行读取命令。我使用的Mono(版本4.1.3)显然有一个阻止某些任务启动的错误,所以我明确地声明了一个Thread。