我是套接字编程的新手。我想用DATAGRAM建立一个UNIX域套接字。我在struct sockaddr_un 中查找有关 sun_path 配置的信息一段时间,似乎没有足够的资源来帮助我。
我创建了3个文件,unix_socket.c(提供了套接字连接的接口),udp_server.c和udp_client.c,它们都位于“/ home / Socket ”目录中。 当我将 sun_path 设置为“home / Socket”时,服务器端始终会生成错误“已在使用的地址”。 我还尝试使用“localSocket”和“echo_socket”,,但客户端始终生成错误“没有此类文件或目录”。< / p>
我不知道发生了什么。有人可以帮我解决吗?真的很感激。
非常感谢
答案 0 :(得分:1)
/home/Socket
已经是一个文件夹,因此它不能被UNIX套接字覆盖(将其视为一种特殊文件)。尝试其他路径,例如/home/Socket/mysocket
。
您还应该查看bind(2) manpage及其中的示例。