在服务器程序中完全绑定api的作用。 我是套接字编程的新手。 绑定说:将套接字绑定到IP地址和端口。 所以如果我给 bind = AF_INET的arguments1和args2 =(sockaddr *)结构sockaddr提示和args3 = sizeof(hint);
答案 0 :(得分:1)
简而言之:bind()指定连接本地端的地址和端口。如果不调用bind(),操作系统将自动为您分配一个可用的端口号。
每次通过网络发送包含TCP数据的IP数据报时,该数据报都会包含“本地地址”,“远程地址”,“本地端口”和“远程端口”。这是IP必须弄清楚谁最终得到数据包的唯一信息。
因此,客户端和服务器端口号都需要填写,然后连接才能正常工作。定向到服务器的数据需要一个“目标”端口,以便可以将数据发送到服务器上运行的适当程序。同样,它也需要一个“源”,以便服务器知道将数据发送给谁,并且如果同一台计算机上有许多连接,则服务器可以通过查看源端口号将它们分开。>
由于连接是由客户端程序启动的,因此客户端程序需要知道服务器的端口号才能建立连接。因此,服务器被放置在“知名”端口号上。例如,telnet服务器始终位于端口23上。http服务器始终位于端口80上。
bind()API调用分配“本地”端口号。也就是说,在传出数据报上用作“源端口”的端口号,在传入数据报上用作“目标端口”的端口号。
here带有示例,详细说明。