- 论坛徽章:
- 0
|
socket 编程,急!!!
原帖由 "henngy" 发表:
FIP.c_str()你返回的是什么类型的撒?先打印出来看看!
看错误提示就知道是类型不匹配!
这个问题和FIP.c_str()有什么关系,这是一个c++的基本问题,如果这段程序是用c写的(当然是假设没有用stl了。。。) 这么调用:
connect(TheSock,(struct sockaddr*)&servaddr,sizeof(servaddr))是没有什么问题的, 看看connect 的man page,这个函数是这样的:
int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen);
在c++中 const struct sockaddr*是不允许被强迫转换为struct sockaddr*的。
其实不管是c还是c++,最好的写法应该是:
socklen_t addrlen = sizeof(*servaddr);
connect(TheSock,(const struct sockaddr*)&servaddr,addrlen) |
|