2017-02-15 24 views
1

是否有可能接收任何空的有效載荷recvfrom()SOCK_DGRAM爲基礎的套接字?服務器只對客戶機頭部感興趣,以便將其發送回消息(即單個消息,僅發送協議)。使用SOCK_DGRAM時用recvfrom接收空的有效載荷?

+0

是的。您可以使用UDP發送零長度的數據報。 – EJP

+0

@EJP如何? 'recvfrom()'不會在零長度上阻塞,並嘗試使用例如'cat/dev/null |發送空包。 nc -u 127.0.0.1 1234'與'recvfrom()'在繁忙的等待中什麼都不做。 – user7434748

+0

用'send()'或sendto()'提供一個零長度參數。 'recvfrom()'將阻塞,直到收到數據報或發生錯誤。 – EJP

回答

0

從socket API的角度來看,0大小的數據報是完全有效的,至少協議IP,UDP,UNIX:可以發送和接收它們。

相關問題