增加了仿真程序端口占用自动重连的功能,端口被占用时不再退出,自动重连

This commit is contained in:
2023-11-30 09:30:03 +08:00
parent d90a0b22ba
commit 731ae33e67

View File

@@ -2,13 +2,14 @@
* @Author: zjk 1553836110@qq.com * @Author: zjk 1553836110@qq.com
* @Date: 2023-11-07 14:59:47 * @Date: 2023-11-07 14:59:47
* @LastEditors: zhaojingkui 1553836110@qq.com * @LastEditors: zhaojingkui 1553836110@qq.com
* @LastEditTime: 2023-11-28 18:20:41 * @LastEditTime: 2023-11-30 09:26:27
* @FilePath: /moos-ivp-pi/src/pEmulator/_150server.cpp * @FilePath: /moos-ivp-pi/src/pEmulator/_150server.cpp
* @Description: * @Description:
* *
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
*/ */
#include "_150server.hpp" #include "_150server.hpp"
#include <unistd.h>
uint16_t _150server::serializeFields(AUVEmbedded &embeddedInfo, uint8_t* bfr) uint16_t _150server::serializeFields(AUVEmbedded &embeddedInfo, uint8_t* bfr)
{ {
@@ -172,7 +173,13 @@ void _150server::_150_startServer()
saddr.sin_family = PF_INET; saddr.sin_family = PF_INET;
saddr.sin_addr.s_addr = INADDR_ANY; //0.0.0.0 saddr.sin_addr.s_addr = INADDR_ANY; //0.0.0.0
saddr.sin_port = htons(8001); saddr.sin_port = htons(8001);
int ret = bind(lfd, (struct sockaddr *)&saddr, sizeof(saddr)); int ret = -1;
do
{
ret = bind(lfd, (struct sockaddr *)&saddr, sizeof(saddr));
std::cout << "Try bind adress..." << std::endl;
sleep(1);
} while (ret==-1);
if(ret == -1) if(ret == -1)
{ {
@@ -181,7 +188,13 @@ void _150server::_150_startServer()
} }
//3.监听 //3.监听
listen(lfd, 5); do
{
listen(lfd, 5);
std::cout << "Try to listening..." << std::endl;
sleep(1);
} while (ret==-1);
if(ret==-1) if(ret==-1)
{ {
perror("listen"); perror("listen");