我想知道是否可以管理指向套接字 udp 文件描述符的指针,因为我必须同时使用 send() 将数据发送到 2 个不同的套接字。
我有一个创建 2 个套接字的函数(socket() setsocket() bind() connect()...)和另一个更改套接字的函数(如果一个条件为真,但我不写这部分)
void set_socket(){
socket00 = socket(AF_INET, SOCK_DGRAM, 0);
socket01 = socket(AF_INET, SOCK_DGRAM, 0);
...
setsocket();
setsocket();
....
....
}
int change_socketfd (int fd) {
if (fd == socket01 ) {
return ( socket00 );
}
else if (fd == socket00 ) {
return ( socket01 );
}
}
我可以有这样的指针吗?
int *psock;
psock=&change_socketfd(socket00);
ris = send(*psock, datagram, sizeof(*datagram)+1 , 0);
我需要的是动态更改 socketfd ,但是我的代码给出了分段错误,所以我不确定这种方法是否正确或可能。感谢您的建议