如何打开套接字以发送数据或接收数据? 如果要使用套接字发送数据,该套接字将不会收到任何数据。
是否有可用的套接字选项?
答案 0 :(得分:2)
如果发件人和收件人进程都在同一台计算机上,您可以使用pipe
而不是套接字,请参阅pipe(2)
手册页了解其工作原理。
如果这是通过网络进行通信,您可以使用套接字而不发送数据。如果您想确定,可以使用shutdown(fd, SHUT_RD)
关闭套接字的写入部分。
答案 1 :(得分:1)
使用unix域套接字,不要绑定它:
fd = socket(PF_LOCAL, SOCK_DGRAM, 0);
然后您可以使用套接字发送,但没有人能够将数据发送到套接字。 即使接收者也无法回应。
答案 2 :(得分:0)
如果这是通过网络进行的通信,并且您希望确保这是一个只写套接字,则可以使用shutdown(fd,SHUT_RD)来关闭套接字的写入部分。 如果这是一个SOCK_DGRAM - 一个UDP套接字,请使用connect()连接到远程对等,然后调用shutdown()。 shutdown()关闭连接的套接字。