将端口号绑定到TCP套接字(outgoin)以发送数据包
我知道将端口号绑定到用于发送数据的 TCP套接字并不容易(因为系统通常将随机端口绑定到套接字)。
但我在一篇文章中读到,通过使用一些低级网络方法,您可以将端口号绑定到TCP套接字然后用它来发送数据?
有没有人知道如何做到这一点?
我正在使用c编程语言
在连接之前绑定它。
s = socket(AF_INET, SOCK_STREAM, 0); /* ... */ memset(&client_addr, 0, sizeof(client_addr)); client_addr.sin_family = AF_INET; client_addr.sin_port = htons(22222); if (bind(s, (struct sockaddr *) &client_addr, sizeof(client_addr)) < 0) { perror("bind"); exit(1); } connect(s, (struct sockaddr *) &server_addr, sizeof(server_addr));
实际上这很容易。 只需像使用服务器一样使用绑定function。
您可以在客户端中的connect()
bind()
之前调用bind()
,就像在服务器中调用listen()
之前调用bind()
一样。 没有比这更复杂的了。