【发布时间】:2009-11-15 20:05:08
【问题描述】:
在 C 中使用套接字,在函数中这样做是否安全?
int ConnectTo(char *ip, int port){
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
inet_pton(AF_INET, ip, &addr.sin_addr.s_addr);
addr.sin_port = htons(port);
int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(connect(sock, (struct sockaddr *) &addr, sizeof(addr))
return sock;
else
return -1;
}
更具体地说,'man connect' 中给出的原型是
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
如果 sockaddr 结构稍后被丢弃,我会受到惩罚吗?
【问题讨论】: