4

我已经设置了一个 PHP 服务器每秒写入一个套接字。

while(1) {
  $message = "Hello, World!";
  socket_write($socket, $message, strlen($message));
  sleep(1);
}

然后我有一个 Lua 客户端(Corona SDK),它每 1/10 秒检查一次套接字的数据:

timer.performWithDelay(100, function() sock:receive() end, 0) end

我的问题是:每次运行 sock:receive() 时服务器是否“命中”?还是 sock:receive() 只检查本地缓冲区?

重新表述这个问题:我运行 sock:receive() 的频率越高,服务器会收到更多的负载吗?还是完全不受此影响?

4

1 回答 1

0

不,套接字接收不会“命中”服务器。如果可能,您可以在服务器端运行 Wireshark,以向自己证明当客户端调用诸如接收或读取之类的东西时没有发送任何内容。与客户端交换少量数据以设置套接字,但是,一旦设置了套接字,客户端在读取时不会发送任何内容。

Beej's Guide中提供了一些背景信息

于 2013-03-26T01:48:48.170 回答