socket_test.c

来自「ecos实时嵌入式操作系统」· C语言 代码 · 共 84 行

C
84
字号
//==========================================================================////      tests/socket_test.c////      Test network socket functions////==========================================================================//####BSDCOPYRIGHTBEGIN####//// -------------------------------------------//// Portions of this software may have been derived from OpenBSD or other sources,// and are covered by the appropriate copyright disclaimers included herein.//// -------------------------------------------////####BSDCOPYRIGHTEND####//==========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):    gthomas// Contributors: gthomas// Date:         2000-01-10// Purpose:      HLD// Description:  //              ////####DESCRIPTIONEND####////==========================================================================// socket test code#include <network.h>#ifndef CYGPKG_LIBC_STDIO#define perror(s) diag_printf(#s ": %s\n", strerror(errno))#endif#define STACK_SIZE CYGNUM_HAL_STACK_SIZE_TYPICALstatic char stack[STACK_SIZE];static cyg_thread thread_data;static cyg_handle_t thread_handle;extern voidcyg_test_exit(void);voidnet_test(cyg_addrword_t param){    int s;    int one = 1;    diag_printf("Start socket test\n");    s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);    diag_printf("socket() = %d\n", s);    s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);    diag_printf("socket() = %d\n", s);    if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &one, sizeof(one))) {                perror("setsockopt");    }    cyg_test_exit();}voidcyg_start(void){    // Create a main thread, so we can run the scheduler and have time 'pass'    cyg_thread_create(10,                // Priority - just a number                      net_test,          // entry                      0,                 // entry parameter                      "Network test",    // Name                      &stack[0],         // Stack                      STACK_SIZE,        // Size                      &thread_handle,    // Handle                      &thread_data       // Thread data structure            );    cyg_thread_resume(thread_handle);  // Start it    cyg_scheduler_start();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?