- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的代码有点复杂,但简单来说,它有多个 go 例程,所有都调用不同的 TCP 服务器,并在流中出现可读消息时在 for 循环中读取输入。到目前为止,一切都很好。现在有另一个 go 例程来管理之前的一堆“客户端”并在用户需要时关闭它们。为此,我将每个“conn”与适当的 go routine 客户端相关联并关闭它。
我面临的问题是,只要我调用任何 conn 对象的 close 函数,其对应的 Read 函数就会进入无限循环,不断读取空字符串。
我写了一个简单的代码,类似于我在多个 go 例程中处理连接的方式- https://play.golang.org/p/wq7zt9Kqz7
长话短说
简而言之,我有一个“类”,它代表一个远程服务器及其地址、conn、 WaitGroup ,我正在创建它的多个实例并在单独的 go 例程中处理它们的输入。在另一个 go 例程中,我试图关闭其中一个实例,并且这个 read() 无限期地进入循环。
最佳答案
Read
在关闭的连接上返回错误。
如果 TCP 连接上的 Read
返回任何错误,应用程序应该跳出读取循环。错误中断处理所有这些情况:应用程序关闭另一个 goroutine 中的连接,对等方关闭连接,网络错误。
不需要其他同步来协调 TCP 连接的关闭器和该连接上的读取器。
关于go - conn.Read 在通过其他 go 例程关闭 conn 时进入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42171951/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!