呵呵,想了想 大概是这样几种可能,你可以尝试一下。
1。重新连接的过程要重新创建sockclient 也就是重新调用函数创建。
2。服务器关闭后再开启,绑定的是同一个接口。当关闭后再开启的时间较短时
端口可能处于忙状态,倒置再开启绑定到该端口失败,也就是服务器端启动失败。 处理办法:你可以利用setsockopt函数,将端口设置为可重用状态,我忘记那个宏是什么了 你可以上网去查查setsockopt的用法。
希望对你有用
best wishes
可以写网址,假设你要使用TCP连接,要用到这样的结构:
struct
sockaddr_in
server_addr;
/
要连接的服务器
/
struct
hostent
host;
/
服务器
/
host
=
gethostbyname("wwwbaiducom");
/
建立socket
/
sockfd=socket(AF_INET,SOCK_STREAM,0);
/
填充服务器
/
bzero(&server_addr,sizeof(server_addr));
server_addrsin_family=AF_INET;
server_addrsin_port=htons(portnumber);
server_addrsin_addr=((struct
in_addr
)host->h_addr);
/
现在可以连接了
/
connect(sockfd,(struct
sockaddr
)(&server_addr),sizeof(struct
sockaddr));
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)