TEst

// slaver


#pragma comment (lib,"ws2_32.lib") 
#include <Winsock2.h> 
#include <stdio.h>  


static int base_port = 60123;


void main()  
{  
    //版本协商  
    WORD wVersionRequested;  
    WSADATA wsaData;  
    int err;  
    wVersionRequested = MAKEWORD( 1, 1 ); 
    err = WSAStartup( wVersionRequested, &wsaData );  
    if ( err != 0 ) {  
        /* Tell the user that we could not find a usable */ 
        /* WinSock DLL.                                  */ 
        return;  
    }  
    /* Confirm that the WinSock DLL supports 2.2.*/ 
    /* Note that if the DLL supports versions greater    */ 
    /* than 2.2 in addition to 2.2, it will still return */ 
    /* 2.2 in wVersion since that is the version we      */ 
    /* requested.                                        */ 
    if ( LOBYTE( wsaData.wVersion ) != 1 ||  
        HIBYTE( wsaData.wVersion ) != 1 ) {  
        /* Tell the user that we could not find a usable */ 
        /* WinSock DLL.                                  */ 
        WSACleanup( );  
        return;   
    }  


    /* The WinSock DLL is acceptable. Proceed. */ 
    //创建服务器套接字  
    SOCKET Svr = socket(AF_INET,SOCK_DGRAM,0);  
    SOCKADDR_IN addr;  
    addr.sin_family = AF_INET;  
    addr.sin_port = htons(base_port + 1);  
    addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);  
    bind(Svr,(sockaddr*)&addr,sizeof(sockaddr));  


    //创建地址  
    SOCKADDR_IN addrSvr;  
    addrSvr.sin_family = AF_INET;  
    addrSvr.sin_port = htons(base_port);  
    addrSvr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");  
    char recvBuf[128];  
    char sendBuf[128];  
    int len = sizeof(sockaddr);  
    while(true)  
    {  
memset(sendBuf, 0x0, 128);
        gets(sendBuf);  
        //发送数据  
        sendto(Svr,sendBuf,strlen(sendBuf)+1,0,(sockaddr*)&addrSvr,len);  
        //接收数据  
        recvfrom(Svr,recvBuf,128,0,(sockaddr*)&addrSvr,&len);  
        char* ipSvr = inet_ntoa(addrSvr.sin_addr);  
        printf("%s said: %s\n",ipSvr,recvBuf);  
    } 
    closesocket(Svr);  
    WSACleanup();  



------------



#pragma comment (lib,"ws2_32.lib") 
#include <Winsock2.h> 
#include <stdio.h>  


static int base_port = 60123;
SOCKET svr;


struct _addr_client_st_
{
int flag;
SOCKADDR_IN addr;
};


struct _addr_client_st_ addrClientArray[9] = {0};


DWORD WINAPI TaskLoopThread(PVOID pvParam)
{
DWORD dwResult = 0;


//版本协商  
    WORD wVersionRequested;  
    WSADATA wsaData;  
    int err;  
    wVersionRequested = MAKEWORD( 1, 1 );  
    err = WSAStartup( wVersionRequested, &wsaData );  
    if ( err != 0 ) {  
        /* Tell the user that we could not find a usable */ 
        /* WinSock DLL.                                  */ 
        return dwResult;  
    }  
    /* Confirm that the WinSock DLL supports 2.2.*/ 
    /* Note that if the DLL supports versions greater    */ 
    /* than 2.2 in addition to 2.2, it will still return */ 
    /* 2.2 in wVersion since that is the version we      */ 
    /* requested.                                        */ 
    if ( LOBYTE( wsaData.wVersion ) != 1 ||  
        HIBYTE( wsaData.wVersion ) != 1) {  
        /* Tell the user that we could not find a usable */ 
        /* WinSock DLL.                                  */ 
        WSACleanup( );  
         return dwResult;   
    }  
    /* The WinSock DLL is acceptable. Proceed. */ 
    //创建数据报套接字   
     svr = socket(AF_INET,SOCK_DGRAM,0);  
    //创建本地地址信息  
    SOCKADDR_IN addr;  
    addr.sin_family = AF_INET;  
    addr.sin_port = htons(base_port);  
    addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);  
   int len = sizeof(sockaddr);  
    bind(svr,(sockaddr*)&addr,len);  


    //创建客户端地址对象  
    SOCKADDR_IN addrClient;
    char recvBuf[128];  
    char tempBuf[256]; 
    while(true)  
    {  
        //接收数据  
        recvfrom(svr,recvBuf,128,0,(sockaddr*)&addrClient,&len);  
        char* ipClient = inet_ntoa(addrClient.sin_addr); 
   int client_port =   ntohs(addrClient.sin_port);

        sprintf(tempBuf,"%s(%d) said: %s\n",ipClient,client_port, recvBuf);  
        printf("%s",tempBuf);  


if (addrClientArray[client_port - base_port - 1].flag == 0) {
memcpy(&(addrClientArray[client_port - base_port - 1].addr), &addrClient, len);
}


    }
    closesocket(svr);  
    WSACleanup();  


return dwResult;
}




void main()  
{  
    CreateThread(
   NULL,  // 指定安全的结构指针,一般可以NULL,bInheritHandle成员指定句柄是否可以继承
   0,  // 指定线程堆栈空间的大小
   TaskLoopThread, // 指定线程入口点函数地址
   NULL,   // 传递给线程函数的参数
   0,   // 一般为0,立即执行线程函数
   0);   // 指定线程ID,一般就0

char sendBuf[128] = {0};
int port = 0;
int len = sizeof(sockaddr);  
while(1)
{
printf("port:");
gets(sendBuf);
port = atoi(sendBuf);
memset(sendBuf, 0x0, 128);
printf("msg:");
gets(sendBuf);
        
       sendto(svr,sendBuf,strlen(sendBuf)+1,0,(sockaddr*)&(addrClientArray[port].addr),len);  
}
return;





个人防护装备实例分割数据集 一、基础信息 • 数据集名称:个人防护装备实例分割数据集 • 图片数量: 训练集:4524张图片 • 训练集:4524张图片 • 分类类别: 手套(Gloves) 头盔(Helmet) 未戴手套(No-Gloves) 未戴头盔(No-Helmet) 未穿鞋(No-Shoes) 未穿背心(No-Vest) 鞋子(Shoes) 背心(Vest) • 手套(Gloves) • 头盔(Helmet) • 未戴手套(No-Gloves) • 未戴头盔(No-Helmet) • 未穿鞋(No-Shoes) • 未穿背心(No-Vest) • 鞋子(Shoes) • 背心(Vest) • 标注格式:YOLO格式,适用于实例分割任务,包含边界框或多边形坐标。 • 数据格式:图片数据,来源于监控或相关场景。 二、适用场景 • 工业安全监控系统开发:用于自动检测工人是否佩戴必要的个人防护装备,提升工作场所安全性,减少工伤风险。 • 智能安防应用:集成到监控系统中,实时分析视频流,识别PPE穿戴状态,辅助安全预警。 • 合规性自动化检查:在建筑、制造等行业,自动检查个人防护装备穿戴合规性,支持企业安全审计。 • 计算机视觉研究:支持实例分割、目标检测等算法在安全领域的创新研究,促进AI模型优化。 三、数据集优势 • 类别全面:覆盖8种常见个人防护装备及其缺失状态,提供丰富的检测场景,确保模型能处理各种实际情况。 • 标注精准:采用YOLO格式,每个实例都经过精细标注,边界框或多边形坐标准确,提升模型训练质量。 • 真实场景数据:数据来源于实际环境,增强模型在真实世界中的泛化能力和实用性。 • 兼容性强:YOLO格式便于与主流深度学习框架(如YOLO、PyTorch等)集成,支持快速部署和实验。
在编程中,`void test` 通常表示一个返回值类型为 `void`(即不返回任何值)且函数名为 `test` 的函数。以下以几种常见编程语言为例介绍其含义及应用: ### C/C++ 在 C 和 C++ 中,`void` 用于表示函数不返回任何值。`void test()` 可以定义一个名为 `test` 的函数,这个函数不返回值,常用于执行一些操作,比如打印信息、修改全局变量等。 ```c #include <stdio.h> // 定义一个返回值为 void 的 test 函数 void test() { printf("This is a test function.\n"); } int main() { test(); return 0; } ``` ### Java 在 Java 中,`void` 同样用于表示方法不返回任何值。可以定义一个名为 `test` 的方法来执行特定任务。 ```java public class Main { // 定义一个返回值为 void 的 test 方法 public static void test() { System.out.println("This is a test method."); } public static void main(String[] args) { test(); } } ``` ### Python Python 没有显式的 `void` 类型,因为函数不返回值时默认返回 `None`。可以定义一个名为 `test` 的函数来执行特定操作。 ```python def test(): print("This is a test function.") test() ``` ### 错误处理 在使用 `void test` 函数时,错误处理也很重要。在 C++ 中,可以使用异常处理机制;在 Java 中,有 `try-catch` 语句;Python 则使用 `try-except` 语句。 以下是 Java 中 `void test` 函数的错误处理示例: ```java public class Main { public static void test() { try { int[] arr = new int[2]; arr[3] = 10; // 会引发数组越界异常 } catch (ArrayIndexOutOfBoundsException e) { System.out.println("An error occurred: " + e.getMessage()); } } public static void main(String[] args) { test(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值