首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自由服务器关机

自由服务器关机
EN

Stack Overflow用户
提问于 2015-06-26 12:38:43
回答 2查看 180关注 0票数 1

我目前正在尝试用Freeling建立一个客户机-服务器环境。使用以下启动命令,我可以运行服务器而不出问题:

代码语言:javascript
复制
analyzer -f %FREELINGSHARE%\config\it.cfg --lang it --server --port 3330 --flush --inpf plain

但是,每当客户端试图通过套接字(从shell和Matlab环境都尝试)执行分析时,服务器一旦完成处理此类请求就会关闭。这是强制每个客户端请求重新启动服务器的行为。从文档来看,似乎应该为每个客户端( cit )分叉一个新的流程。

服务器将发送一个新进程来处理每个新客户端,因此您可以同时为多个客户端提供服务。

注:我使用的是Freeling版本3.1

EN

回答 2

Stack Overflow用户

发布于 2015-06-30 07:46:29

经过一些测试,我得出以下结论:

( 1)我遇到了一个与Freeling服务器和Windows组合有关的错误。基本上,analyzer.exe程序不会在每个新的客户端请求中分叉一个新进程(应该是这样),而是对当前进程执行分析,一旦客户端断开连接,就会导致终止。这可能是由于套接字处理不当造成的,而套接字对于不同的操作系统则不同。

2)基于linux的服务器的正确行为似乎证实了前面的观点。然而,是与特定的linux版本相关联的,这也是相当过时的。此约束是由于较新的发行版无法满足的依赖关系造成的。

作为结束语,在撰写本文时,最好的解决方案似乎是使用Freeling库的套接字服务器的自定义开发。

票数 0
EN

Stack Overflow用户

发布于 2015-10-25 21:03:16

看一下代码,这似乎是默认的行为。

代码语言:javascript
复制
  // if we are a forked server attending a client, and the client is done, we exit.
if (ServerMode) CloseWorker(stats);

如果您有两个客户端打开,并提交一个请求与1,它将关闭连接时,它已完成,但它仍然能够接受来自第二个客户端的请求。与每次重新启动服务器不同,您只需创建一个新客户端即可。您始终可以根据某些条件修改CloseWorker函数以关闭套接字,以保持客户端连接处于打开状态。

该应用程序似乎可以接受多个客户端,但它无法接受来自多个客户端的多个请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31073398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档