请问用C语言 socket编程,如何使TCP客户端实现网络恢复后自动重连的功能?

请问用C语言 socket编程,如何使TCP客户端实现网络恢复后自动重连的功能?,第1张

呵呵,想了想 大概是这样几种可能,你可以尝试一下。

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));

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12174773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存