关于域套接字 Domain socket 的问题

13 views
Skip to first unread message

Junwen Sun

unread,
May 15, 2013, 9:29:45 AM5/15/13
to nj...@googlegroups.com
在 OS X 上为什么基于 SOCK_STREAM 的 domain socket 连接成功后,写入进程快,读取进程慢会导致丢消息(大概 4K 大的结构体)。
我使用了 libevent 来帮我通知 accept 和 read 事件,通过环境变量强制 libevent 使用 select 不用 kqueue 或者 poll,不再丢包。
我试着每次发送一条消息后关闭 socket,每次发消息前都重新连接,倒是很稳定,可以不设置环境变量,这样做会有性能损失么?
我在 Fedora 上重现不了这个问题。
或者有什么特别的注意点我没有注意?

Vinx Zhu

unread,
May 15, 2013, 12:13:27 PM5/15/13
to Nanjing Linux User Group

tcp丢包很少见啊,难道你的协议栈缓存很小?每次都关闭socket肯定影响性能,每次都得握手呢

--
--
NJLUG-See U on the Second Sunday of Every Month!
http://wiki.nanjinglug.org/NjlugFaq 常见问题
http://planet.nanjinglug.org/
建一个友好的Linux本地社区!
 
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Nanjing Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 njlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 

Junwen Sun

unread,
May 15, 2013, 10:43:28 PM5/15/13
to nj...@googlegroups.com
谢谢,问题解决了
不用讨论了,代码逻辑的错误,不是域套接字的问题

在 2013年5月15日星期三UTC+8下午9时29分45秒,Junwen Sun写道:
Reply all
Reply to author
Forward
0 new messages