struct sockaddr_un v / s sockaddr - C(Linux) [英] struct sockaddr_un v/s sockaddr - C(Linux)
问题描述
struct sockaddr 与 struct sockaddr_un 不同?
我知道我们在客户端使用这些结构-server模块,用于将套接字绑定到套接字地址。我们使用一个cast操作符来接受struct sockaddr_un。
I know that we use these structures in client-server modules,for binding the socket to the socket address.And we use a cast operator for it to accept struct sockaddr_un.
我想知道如何不同/他们,为什么是转换操作符?
I want to know how different/similar are they,and why the cast operator?
推荐答案
struct sockaddr是一个通用定义。
"struct sockaddr" is a generic definition. It's used by any socket function that requires an address.
struct sockaddr_un(一个Unix套接字地址)是一种特定类型的地址族。
"struct sockaddr_un" (a "Unix sockets" address) is a specific kind of address family.
更常见的struct sockaddr_in(一个Internet套接字地址)是另一种特定类型的地址族。
The more commonly seen "struct sockaddr_in" (an "Internet socket" address) is another specific kind of address family.
该转换是允许套接字API接受实际上是几个不同实际类型中的任何一个的通用参数类型。
The cast is what allows the sockets APIs to accept a common parameter type that will actually be any one of several different actual types.
这是一个很好的链接,显示几个不同的地址家庭定义:
Here's a good link that shows several different address family definitions:
http://www.cas.mcmaster.ca/~qiao/courses/cs3mh3/tutorials/socket.html
这篇关于struct sockaddr_un v / s sockaddr - C(Linux)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!