您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ udp_new函数代码示例

51自学网 2021-06-03 09:06:24
  C++
这篇教程C++ udp_new函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中udp_new函数的典型用法代码示例。如果您正苦于以下问题:C++ udp_new函数的具体用法?C++ udp_new怎么用?C++ udp_new使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了udp_new函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: PROCESS_THREAD

/* *  Entry point of the SNMP server. */PROCESS_THREAD(snmpd_process, ev, data) {	PROCESS_BEGIN();	snmp_packets = 0;        #ifndef CONTIKI_TARGET_AVR_RAVEN        systemStartTime = clock_time();        #endif        #if CHECK_STACK_SIZE        u16t i = 0;        u32t pointer;        u32t* p = &pointer;        for (i = 0; i < 1000; i++) {            *p = 0xAAAAAAAA;            p--;        }        marker = &pointer;        #endif	udpconn = udp_new(NULL, UIP_HTONS(0), NULL);	udp_bind(udpconn, UIP_HTONS(LISTEN_PORT));        /* init MIB */        if (mib_init() != -1) {                        while(1) {                PROCESS_YIELD();                udp_handler(ev, data);            }        } else {            snmp_log("error occurs while initializing the MIB/n");        }	PROCESS_END();}
开发者ID:EmuxEvans,项目名称:contiki-snmp,代码行数:38,


示例2: PROCESS_THREAD

/*---------------------------------------------------------------------------*/PROCESS_THREAD(sensortag_process, ev, data){  static struct etimer et;  uip_ipaddr_t ipaddr;  etimer_set(&et, CLOCK_CONF_SECOND*20);  PROCESS_BEGIN();  PROCESS_WAIT_EVENT_UNTIL(ev == PROCESS_EVENT_TIMER);  if(uip_ds6_get_global(ADDR_PREFERRED) == NULL) {    printf("NO IP /n/r");  }  else{    printf("Good /n/r");  }  print_local_addresses();  if(uiplib_ipaddrconv("2001:0db8:0002:0000:0000:0000:0000:0002", &ipaddr)){    printf("Get server IP! /n/r");  }  /* new connection with remote host */  client_conn = udp_new(&ipaddr, UIP_HTONS(10001), NULL);  udp_bind(client_conn, UIP_HTONS(10002));  printf("Connect! /n/r");  init_hdc_reading(NULL);  while(1) {    PROCESS_YIELD();    if(ev == sensors_event && data == &hdc_1000_sensor) {      get_hdc_reading();    }  }  PROCESS_END();}
开发者ID:yplam,项目名称:SensorTagUDP,代码行数:36,


示例3: espconn_udp_server

/****************************************************************************** * FunctionName : espconn_udp_server * Description  : Initialize the server: set up a PCB and bind it to the port * Parameters   : pespconn -- the espconn used to build server * Returns      : none*******************************************************************************/sint8 ICACHE_FLASH_ATTRespconn_udp_server(struct espconn *pespconn){    struct udp_pcb *upcb = NULL;    espconn_msg *pserver = NULL;    upcb = udp_new();    if (upcb == NULL) {        return ESPCONN_MEM;    } else {        pserver = (espconn_msg *)os_zalloc(sizeof(espconn_msg));        if (pserver == NULL) {            udp_remove(upcb);            return ESPCONN_MEM;        }        pserver->pcommon.pcb = upcb;        pserver->pespconn = pespconn;        espconn_list_creat(&plink_active, pserver);        udp_bind(upcb, IP_ADDR_ANY, pserver->pespconn->proto.udp->local_port);        udp_recv(upcb, espconn_udp_recv, (void *)pserver);        return ESPCONN_OK;    }}
开发者ID:andresvidal,项目名称:esp-ginx,代码行数:31,


示例4: snmp_init

/** * Starts SNMP Agent. * Allocates UDP pcb and binds it to IP_ADDR_ANY port 161. */voidsnmp_init(void){  struct snmp_msg_pstat *msg_ps;  u8_t i;  snmp1_pcb = udp_new();  if (snmp1_pcb != NULL)  {    udp_recv(snmp1_pcb, snmp_recv, (void *)SNMP_IN_PORT);    udp_bind(snmp1_pcb, IP_ADDR_ANY, SNMP_IN_PORT);  }  msg_ps = &msg_input_list[0];  for (i=0; i<SNMP_CONCURRENT_REQUESTS; i++)  {    msg_ps->state = SNMP_MSG_EMPTY;    msg_ps->error_index = 0;    msg_ps->error_status = SNMP_ES_NOERROR;    msg_ps++;  }  trap_msg.pcb = snmp1_pcb;#ifdef SNMP_PRIVATE_MIB_INIT  /* If defined, this must be a function-like define to initialize the   * private MIB after the stack has been initialized.   * The private MIB can also be initialized in tcpip_callback (or after   * the stack is initialized), this define is only for convenience. */  SNMP_PRIVATE_MIB_INIT();#endif /* SNMP_PRIVATE_MIB_INIT */  /* The coldstart trap will only be output     if our outgoing interface is up & configured  */  snmp_coldstart_trap();}
开发者ID:mtharp,项目名称:lwip,代码行数:38,


示例5: udp_echoserver_init

/**  * @brief  Initialize the server application.  * @param  None  * @retval None  */void udp_echoserver_init(void){   struct udp_pcb *upcb;   err_t err;      /* Create a new UDP control block  */   upcb = udp_new();      if (upcb)   {     /* Bind the upcb to the UDP_PORT port */     /* Using IP_ADDR_ANY allow the upcb to be used by any local interface */      err = udp_bind(upcb, IP_ADDR_ANY, UDP_SERVER_PORT);            if(err == ERR_OK)      {        /* Set a receive callback for the upcb */        udp_recv(upcb, udp_echoserver_receive_callback, NULL);      }      else      {        udp_remove(upcb);      }   }}
开发者ID:RadMie,项目名称:STM32F7DiscoveryBase,代码行数:30,


示例6: main

int main (void){    zctx_t *ctx = zctx_new ();    udp_t *udp = udp_new (PING_PORT_NUMBER);        byte buffer [PING_MSG_SIZE];    zmq_pollitem_t pollitems [] = {{ NULL, udp_handle (udp), ZMQ_POLLIN, 0 }};        //  Send first ping right away    uint64_t ping_at = zclock_time ();        while (!zctx_interrupted) {        long timeout = (long) (ping_at - zclock_time ());        if (timeout < 0)            timeout = 0;        if (zmq_poll (pollitems, 1, timeout * ZMQ_POLL_MSEC) == -1)            break;              //  Interrupted        //  Someone answered our ping        if (pollitems [0].revents & ZMQ_POLLIN)            udp_recv (udp, buffer, PING_MSG_SIZE);                if (zclock_time () >= ping_at) {            puts ("Pinging peers...");            buffer [0] = '!';            udp_send (udp, buffer, PING_MSG_SIZE);            ping_at = zclock_time () + PING_INTERVAL;        }    }    udp_destroy (&udp);    zctx_destroy (&ctx);    return 0;}
开发者ID:AvdN,项目名称:zguide,代码行数:33,


示例7: PROCESS_THREAD

/*---------------------------------------------------------------------------*/PROCESS_THREAD(udp_server_process, ev, data){  PROCESS_BEGIN();  PRINTF("UDP server started/n");#if UIP_CONF_ROUTER  uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0);  uip_netif_addr_add(&ipaddr, 64, 0, AUTOCONF);#endif /* UIP_CONF_ROUTER */  print_local_addresses();  server_conn = udp_new(NULL, HTONS(61617), NULL);  udp_bind(server_conn, HTONS(61616));  PRINTF("Created a server connection with remote address ");  PRINT6ADDR(&server_conn->ripaddr);  PRINTF("local/remote port %u/%u/n", HTONS(server_conn->lport),         HTONS(server_conn->rport));  while(1) {    PROCESS_YIELD();    if(ev == tcpip_event) {      tcpip_handler();    }  }  PROCESS_END();}
开发者ID:mlwymore,项目名称:contiki,代码行数:31,


示例8: PROCESS_THREAD

/*---------------------------------------------------------------------------*/PROCESS_THREAD(servreg_hack_process, ev, data){  static struct etimer periodic;  static struct uip_udp_conn *outconn, *inconn;  PROCESS_BEGIN();  /* Create outbound UDP connection. */  outconn = udp_broadcast_new(UIP_HTONS(UDP_PORT), NULL);  udp_bind(outconn, UIP_HTONS(UDP_PORT));  /* Create inbound UDP connection. */  inconn = udp_new(NULL, UIP_HTONS(UDP_PORT), NULL);  udp_bind(inconn, UIP_HTONS(UDP_PORT));  etimer_set(&periodic, PERIOD_TIME);  etimer_set(&sendtimer, random_rand() % (PERIOD_TIME));  while(1) {    PROCESS_WAIT_EVENT();    if(ev == PROCESS_EVENT_TIMER && data == &periodic) {      etimer_reset(&periodic);      etimer_set(&sendtimer, random_rand() % (PERIOD_TIME));    } else if(ev == PROCESS_EVENT_TIMER && data == &sendtimer) {      send_udp_packet(outconn);    } else if(ev == tcpip_event) {      parse_incoming_packet(uip_appdata, uip_datalen());    }  }  PROCESS_END();}
开发者ID:AWRyder,项目名称:contiki,代码行数:30,


示例9: PROCESS_THREAD

PROCESS_THREAD(receive_process, ev, data){    PROCESS_BEGIN();        static struct uip_udp_conn* server_conn;    server_conn = udp_new(NULL, UIP_HTONS(UDP_CLIENT_PORT), NULL);    udp_bind(server_conn, UIP_HTONS(UDP_SERVER_PORT));    while(1) {        PROCESS_YIELD();        if(ev == tcpip_event) {            uint8_t* appdata = uip_appdata;            ASSERT((uip_datalen() % sizeof(uint32_t)) == 0);            size_t numberof_values = uip_datalen() / sizeof(uint32_t);            printf("trace: received values: ");            uint32_t value;            size_t i;            for (i=0; i<numberof_values; i++) {                ASSERT(offset < MAX_NUMBEROF_VALUES);                memcpy(&value, &appdata[i * sizeof(uint32_t)], sizeof(uint32_t));                printf("%lu ", value);                values[offset++] = value;            }            printf("/n");        }    }    PROCESS_END();}
开发者ID:copton,项目名称:ocram,代码行数:31,


示例10: PROCESS_THREAD

/* Glowny program */PROCESS_THREAD(program_UDP, ev, data) {    static struct etimer et;    PROCESS_BEGIN();#if UIP_CONF_IPV6 > 0    uip_ip6addr(&ipaddr, addr[0], addr[1], addr[2], addr[3], addr[4], addr[5], addr[6], addr[7]);#else    uip_ipaddr(&ipaddr, addr[0], addr[1], addr[2], addr[3]);#endif    conn = udp_new(&ipaddr, UIP_HTONS(port), &state);    udp_bind(conn, UIP_HTONS(port + 1));    printf("Binded/n");    etimer_set(&et, CLOCK_CONF_SECOND * 3);    while (1) {        PROCESS_WAIT_EVENT();        if (uip_newdata()) {            str = uip_appdata;            str[uip_datalen()] = '/0';            printf("Received: '%s'/n", str);        }        etimer_reset(&et);    }    PROCESS_END();}
开发者ID:stompdev,项目名称:stomp-contiki,代码行数:30,


示例11: PROCESS_THREAD

PROCESS_THREAD(udp_plug_process, ev, data){	static struct etimer et;	PROCESS_BEGIN();	  	PRINTF("UDP server started/r/n");	#if DEV_BOARD  	leds_on(LEDS_RED | LEDS_GREEN);	SENSORS_ACTIVATE(button_sensor);#else	leds_on(LEDS_GREEN);	#ifdef HAS_PIR_SENSOR		pir_state = PIR_DISPATCH;		etimer_set(&pir_timer, PIR_INIT_TIME);	#endif#endif#if HAS_TEMP_SENSOR	start_temp_conv();#endif#if HAS_LIGHT_SENSOR	light_sensor_init();#endif	udp_conn = udp_new(NULL, UIP_HTONS(0), NULL);	udp_bind(udp_conn, UIP_HTONS(PLUG_PORT));	PRINTF("listening on udp port %u/r/n",UIP_HTONS(udp_conn->lport));	etimer_set(&et, SEND_INTERVAL);	while(1) {		PROCESS_YIELD();		if(etimer_expired(&et)) {			timeout_handler();			etimer_restart(&et);		}#ifdef HAS_PIR_SENSOR				if((pir_state == PIR_DISPATCH)&&(etimer_expired(&pir_timer))) {			SENSORS_ACTIVATE(button_sensor);			pir_state = PIR_READY;		}#endif				if(ev == tcpip_event) {			PRINTF("Calling tcpip_Handler/r/n");			tcpip_handler();		}				if (ev == sensors_event && data == &button_sensor) {#ifndef DEV_BOARD  			handle_pir_event();#endif			PRINTF("Button Pressed/r/n");		}	}  PROCESS_END();}
开发者ID:bearxiong99,项目名称:tdma_demo,代码行数:60,


示例12: PROCESS_THREAD

/*-----------------------------------------------------------------------*/PROCESS_THREAD(udp_sender_process, ev, data){	static struct etimer period_timer, wait_timer;	PROCESS_BEGIN();		set_global_address();	PRINTF("UDP sender process started/n");	print_local_address();	/* new connection with remote host */	sender_conn = udp_new(NULL, UIP_HTONS(UDP_SINK_PORT), NULL);	udp_bind(sender_conn, UIP_HTONS(UDP_SENDER_PORT));	PRINTF("Created a connection with the sink ");	PRINT6ADDR(&sender_conn->ripaddr);	PRINTF(" local/remote port %u/%u/n",			UIP_HTONS(sender_conn->lport), UIP_HTONS(sender_conn->rport));		etimer_set(&period_timer, CLOCK_SECOND * PERIOD);	while(1) {		PROCESS_WAIT_EVENT();		if(ev == PROCESS_EVENT_TIMER) {			if(data == &period_timer) {				etimer_reset(&period_timer);				etimer_set(&wait_timer,							random_rand() % (CLOCK_SECOND * RANDWAIT));			} else if(data ==&wait_timer) {				/* Time to send a data. */				collect_common_send();			}		}	}	PROCESS_END();}
开发者ID:RanHuang,项目名称:nick-project-contiki,代码行数:35,


示例13: PROCESS_THREAD

PROCESS_THREAD(sync_master, ev, data){  static int i=0;  static struct uip_udp_conn *udp;  PROCESS_BEGIN();      udp = udp_new(NULL, UIP_HTONS(10000), NULL);  uip_udp_bind(udp, UIP_HTONS(10000));  uart0_init(1000000);  while(1)  {    PROCESS_YIELD_UNTIL(ev == tcpip_event);    int i;    for (i = 0; i < 16; i++)      uart0_writeb(UDP_HDR->srcipaddr.u8[i]);    for (i = 0; i < uip_datalen(); i++)    {      uart0_writeb(((uint8_t*)uip_appdata)[i]);    }  }  PROCESS_END();}
开发者ID:cloud-hot,项目名称:Jennisense,代码行数:25,


示例14: init_dtls

/*---------------------------------------------------------------------------*/voidinit_dtls() {  static dtls_handler_t cb = {    .write = send_to_peer,    .read  = read_from_peer,    .event = NULL,#ifdef DTLS_PSK    .get_psk_info = get_psk_info,#endif#ifdef DTLS_ECC    .get_ecdsa_key = NULL,    .verify_ecdsa_key = NULL,#endif  };  server_conn = udp_new(NULL, 0, NULL);  udp_bind(server_conn, UIP_HTONS(DTLS_ECHO_PORT));  dtls_set_log_level(DTLS_LOG_DEBUG);  dtls_context = dtls_new_context(server_conn);  if (dtls_context)    dtls_set_handler(dtls_context, &cb);  printf("DTLS server started/n");}
开发者ID:kamejoko80,项目名称:6lbr,代码行数:27,


示例15: simple_udp_register

/** * /brief      Register a UDP connection * /param c    A pointer to a struct simple_udp_connection * /param local_port The local UDP port in host byte order * /param remote_addr The remote IP address * /param remote_port The remote UDP port in host byte order * /param receive_callback A pointer to a function to be called for incoming packets * /retval 0   If no UDP connection could be allocated * /retval 1   If the connection was successfully allocated * *             This function registers a UDP connection and attaches a *             callback function to it. The callback function will be *             called for incoming packets. The local UDP port can be *             set to 0 to indicate that an ephemeral UDP port should *             be allocated. The remote IP address can be NULL, to *             indicate that packets from any IP address should be *             accepted. * */intsimple_udp_register(struct simple_udp_connection *c,                    uint16_t local_port,                    uip_ipaddr_t *remote_addr,                    uint16_t remote_port,                    simple_udp_callback receive_callback){  init_simple_udp();  c->local_port = local_port;  c->remote_port = remote_port;  if(remote_addr != NULL) {    uip_ipaddr_copy(&c->remote_addr, remote_addr);  }  c->receive_callback = receive_callback;  PROCESS_CONTEXT_BEGIN(&simple_udp_process);  c->udp_conn = udp_new(remote_addr, UIP_HTONS(remote_port), c);  if(c->udp_conn != NULL) {    udp_bind(c->udp_conn, UIP_HTONS(local_port));  }  PROCESS_CONTEXT_END();  if(c->udp_conn == NULL) {    return 0;  }  return 1;}
开发者ID:21moons,项目名称:contiki,代码行数:48,


示例16: udp_new

void UdpConnection::initialize(udp_pcb* pcb /* = NULL*/){	if (pcb == NULL)		pcb = udp_new();	udp = pcb;	udp_recv(udp, staticOnReceive, (void*)this);}
开发者ID:PTDreamer,项目名称:SmingRTOS,代码行数:7,


示例17: server_thread

TC_RUN_THREAD void server_thread(){    int i=0;    for (i=0; i<sizeof(workers)/sizeof(worker_t); i++) {        workers[i].busy = false;    }    ipconfig(false);    struct uip_udp_conn* conn = udp_new(NULL, 0, NULL);    udp_bind(conn, UDP_SERVER_PORT);    while(1) {        if (! tc_receive(&cond_server)) {            for (i=0; i<sizeof(workers)/sizeof(worker_t); i++) {                worker_t* worker = workers + i;                if (worker->busy == false) {                    worker->busy = true;                    bool success = rpc_unmarshall_call(CALL, MAX_TELL_DEPTH, uip_appdata, uip_datalen());                    ASSERT(success == true);                    worker->peer = UIP_IP_BUF->srcipaddr;                    tc_condition_signal(&worker->cond, NULL);                    break;                }            }            ASSERT(i != sizeof(workers)/sizeof(worker_t));        } else {            worker_t* worker = cond_server.data;            worker->busy = false;            int16_t size = rpc_marshall_response(RESPONSE, uip_appdata, UIP_BUFSIZE);            ASSERT(size != -1);            uip_udp_packet_sendto(conn, uip_appdata, size, &worker->peer, UDP_CLIENT_PORT);        }    }}
开发者ID:copton,项目名称:ocram,代码行数:35,


示例18: lwip_bind

int lwip_bind(int s, struct sockaddr *name, socklen_t namelen) {	sockfd_t	* fd;	struct ip_addr	ip;	int		port, rv = 0;	s = sock_for_fd(s);	if (s < 0) {		errno = EBADF;		return -1;	}	fd = fds + s;	// Make sure it's an internet address we understand.	if (namelen != sizeof(struct sockaddr_in)) {		errno = ENAMETOOLONG;		return -1;	}	// Get access	mutex_lock(fd->mutex);	// Copy it over	memcpy(&fd->name, name, namelen);	// Convert this to an lwIP-happy format	ip.addr = ((struct sockaddr_in *)name)->sin_addr.s_addr;	port = ((struct sockaddr_in *)name)->sin_port;	// Are we TCP or UDP?	switch (fd->type) {	case SOCK_STREAM:		fd->tcppcb = tcp_new();		tcp_arg(fd->tcppcb, (void *)s);		tcp_recv(fd->tcppcb, recv_tcp);		tcp_sent(fd->tcppcb, sent_tcp);		tcp_poll(fd->tcppcb, poll_tcp, 4);	// 4 == 4 TCP timer intervals		tcp_err(fd->tcppcb, err_tcp);		if (tcp_bind(fd->tcppcb, &ip, ntohs(port)) != ERR_OK) {			if (tcp_close(fd->tcppcb) != ERR_OK)				tcp_abort(fd->tcppcb);			fd->tcppcb = NULL;			errno = EINVAL;			rv = -1; goto out;		}		break;	case SOCK_DGRAM:		fd->udppcb = udp_new();		udp_recv(fd->udppcb, recv_udp, (void *)s);		udp_bind(fd->udppcb, &ip, ntohs(port));		break;	default:		assert( 0 );		errno = EINVAL;		rv = -1; goto out;	}out:	mutex_unlock(fd->mutex);	return rv;}
开发者ID:foreverlikeyou9999,项目名称:kos-ports,代码行数:60,


示例19: PROCESS_THREAD

PROCESS_THREAD(rs232udp_process, ev, data) {  PROCESS_BEGIN();  _network_rs232udp_server_conn = udp_new(NULL, UIP_HTONS(0), NULL);  udp_bind(_network_rs232udp_server_conn, UIP_HTONS(UDP_PORT));    while (1) {    PROCESS_WAIT_EVENT_UNTIL(ev == tcpip_event);    if(uip_newdata()) {      uip_ipaddr_copy(&_network_rs232udp_last_ip, &UDP_HDR->srcipaddr);      _network_rs232udp_last_port = UIP_HTONS(UDP_HDR->srcport);            ((char *)uip_appdata)[uip_datalen()] = 0;      printf("rs232udp %d.%d.%d.%d:%d rx: '%s'/n",	     _network_rs232udp_last_ip.u8[0],	     _network_rs232udp_last_ip.u8[1],	     _network_rs232udp_last_ip.u8[2],	     _network_rs232udp_last_ip.u8[3],	     _network_rs232udp_last_port,	     (char *)uip_appdata);      rs232_tx((char *)uip_appdata);    }  }  PROCESS_END();}
开发者ID:glocklueng,项目名称:stm32-network-rs232,代码行数:26,


示例20: PROCESS_THREAD

/*---------------------------------------------------------------------------*/PROCESS_THREAD(udp_server_process, ev, data){  PROCESS_BEGIN();  putstring("Starting UDP server/n");#if BUTTON_SENSOR_ON  putstring("Button 1: Print RIME stats/n");#endif#if SERVER_RPL_ROOT  create_dag();#endif  server_conn = udp_new(NULL, UIP_HTONS(0), NULL);  udp_bind(server_conn, UIP_HTONS(3000));  PRINTF("Listen port: 3000, TTL=%u/n", server_conn->ttl);  while(1) {    PROCESS_YIELD();    if(ev == tcpip_event) {      tcpip_handler();#if (BUTTON_SENSOR_ON && (DEBUG==DEBUG_PRINT))    } else if(ev == sensors_event && data == &button_sensor) {        print_stats();#endif /* BUTTON_SENSOR_ON */    }  }  PROCESS_END();}
开发者ID:Ammar-85,项目名称:contiki-arduino,代码行数:33,


示例21: PROCESS_THREAD

PROCESS_THREAD(rime_udp_process, ev, data){  static uip_ipaddr_t ipaddr;  PROCESS_BEGIN();  broadcast_conn = udp_broadcast_new(HTONS(RIME_UDP_PORT), NULL);  if(broadcast_conn == NULL) {    PRINTF("rime-udp: Failed to allocate a broadcast connection!/n");  }  uip_create_unspecified(&ipaddr);  unicast_conn = udp_new(&ipaddr, HTONS(RIME_UDP_PORT), NULL);  if(unicast_conn == NULL) {    PRINTF("rime-udp: Failed to allocate a unicast connection!/n");  }  udp_bind(unicast_conn, HTONS(RIME_UDP_PORT));  while(1) {    PROCESS_WAIT_EVENT_UNTIL(ev == tcpip_event);    if(uip_newdata()) {      packetbuf_clear();      memmove(packetbuf_hdrptr(), uip_appdata, uip_datalen());      PRINTF("rime-udp: received %d bytes/n", uip_datalen());      receiver_callback(&rime_udp_driver);    }  }  PROCESS_END();}
开发者ID:kincki,项目名称:contiki,代码行数:31,


示例22: server_init

/**  * @brief  Initialize the server application.  * @param  None  * @retval None  */void server_init(void){  struct tcp_pcb *tpcb;    	struct udp_pcb *upcb;  	  	/* Create a new TCP control block  */	tpcb = tcp_new();		/* Assign to the new pcb a local IP address and a port number */	/* Using IP_ADDR_ANY allow the pcb to be used by any local interface */	tcp_bind(tpcb, IP_ADDR_ANY, TCP_SERVER_PORT);		/* Set the connection to the LISTEN state */	tpcb = tcp_listen(tpcb);	/* Specify the function to be called when a connection is established */		tcp_accept(tpcb, tcp_server_accept);		  /* Create a new UDP control block  */  upcb = udp_new();    /* Bind the upcb to the UDP_PORT port */  /* Using IP_ADDR_ANY allow the upcb to be used by any local interface */  udp_bind(upcb, IP_ADDR_ANY, UDP_SERVER_PORT);    /* Set a receive callback for the upcb */  udp_recv(upcb, udp_server_callback, NULL);  }
开发者ID:liudezhi,项目名称:glow-tube-clock,代码行数:33,


示例23: start_urxperf_application

intstart_urxperf_application(){	struct udp_pcb *pcb;	err_t err;	unsigned port = rxperf_port;	/* iperf default port */	/* create new TCP PCB structure */	pcb = udp_new();	if (!pcb) {		xil_printf("Error creating PCB. Out of Memory/r/n");		return -1;	}	/* bind to iperf @port */	err = udp_bind(pcb, IP_ADDR_ANY, port);	if (err != ERR_OK) {		xil_printf("Unable to bind to port %d: err = %d/r/n", port, err);		return -2;	}	udp_recv(pcb, urxperf_recv_callback, NULL);        rxperf_server_running = 1;	return 0;}
开发者ID:Malutan,项目名称:TE060X-GigaBee-Reference-Designs,代码行数:27,


示例24: snmp_init

/** * Starts SNMP Agent. * Allocates UDP pcb and binds it to IP_ADDR_ANY port 161. */voidsnmp_init(void){  struct snmp_msg_pstat *msg_ps;  u8_t i;  snmp1_pcb = udp_new();  if (snmp1_pcb != NULL)  {    udp_recv(snmp1_pcb, snmp_recv, (void *)SNMP_IN_PORT);    udp_bind(snmp1_pcb, IP_ADDR_ANY, SNMP_IN_PORT);  }  msg_ps = &msg_input_list[0];  for (i=0; i<SNMP_CONCURRENT_REQUESTS; i++)  {    msg_ps->state = SNMP_MSG_EMPTY;    msg_ps->error_index = 0;    msg_ps->error_status = SNMP_ES_NOERROR;    msg_ps++;  }  trap_msg.pcb = snmp1_pcb;  /* The coldstart trap will only be output     if our outgoing interface is up & configured  */  snmp_coldstart_trap();}
开发者ID:alkap007,项目名称:ali3606,代码行数:29,


示例25: IAP_tftpd_init

/**  * @brief  Creates and initializes a UDP PCB for TFTP receive operation    * @param  None    * @retval None  */void IAP_tftpd_init(void){  err_t err;  unsigned port = 69; /* 69 is the port used for TFTP protocol initial transaction */  /* create a new UDP PCB structure  */  UDPpcb = udp_new();  if (!UDPpcb)  {    /* Error creating PCB. Out of Memory  */#ifdef USE_LCD    LCD_ErrLog("Can not create pcb /n");#endif    return;  }  /* Bind this PCB to port 69  */  err = udp_bind(UDPpcb, IP_ADDR_ANY, port);  if (err == ERR_OK)  {    /* Initialize receive callback function  */    udp_recv(UDPpcb, IAP_tftp_recv_callback, NULL);  }   else  {#ifdef USE_LCD    LCD_ErrLog("Can not create pcb /n");#endif  }}
开发者ID:eemei,项目名称:library-stm32f4,代码行数:35,


示例26: tftpd_init

/**  * @brief  Initializes the udp pcb for TFTP   * @param  None  * @retval None  */void tftpd_init(void){  err_t err;  unsigned port = 69;  /* create a new UDP PCB structure  */  UDPpcb = udp_new();  if (UDPpcb)  {      /* Bind this PCB to port 69  */    err = udp_bind(UDPpcb, IP_ADDR_ANY, port);    if (err == ERR_OK)    {          /* TFTP server start  */      udp_recv(UDPpcb, recv_callback_tftp, NULL);    }    else    {      printf("can not bind pcb");    }  }  else  {    printf("can not create new pcb");  }}
开发者ID:blueskycoco,项目名称:stsw-stm32070,代码行数:31,


示例27: netx_udp_open

/*  netx_udp_open()    Open a "socket" with a given local port number    The call returns 0 if OK, non-zero if it fails.*/intnetx_udp_open(struct netxsocket_s *rlpsock, localaddr_arg_t localaddr){    struct udp_pcb *netx_pcb;        /* common Protocol Control Block */    if (rlpsock->nativesock) {        acnlog(LOG_WARNING | LOG_NETI, "netx_udp_open : already open");        return -1;    }    netx_pcb = udp_new();    if (!netx_pcb)        return -1;    rlpsock->nativesock = netx_pcb;    /* BIND:sets local_ip and local_port */    if (!udp_bind(netx_pcb, LCLAD_INADDR(LCLAD_UNARG(localaddr)), LCLAD_PORT(LCLAD_UNARG(localaddr))) == ERR_OK)        return -1;    if (LCLAD_PORT(LCLAD_UNARG(localaddr)) == NETI_PORT_EPHEM) {        /* if port was 0, then the stack should have given us a port, so assign it back */        NSK_PORT(*rlpsock) = netx_pcb->local_port;    }  else {        NSK_PORT(*rlpsock) = LCLAD_PORT(LCLAD_UNARG(localaddr));    }#if !CONFIG_LOCALIP_ANY    NSK_INADDR(rlpsock) = LCLAD_INADDR(LCLAD_UNARG(localaddr));#endif    /* UDP Callback */    udp_recv(netx_pcb, netxhandler, rlpsock);    return 0;}
开发者ID:jblack547,项目名称:openacn,代码行数:40,


示例28: PROCESS_THREAD

/*---------------------------------------------------------------------------*/PROCESS_THREAD(udp_client_process, ev, data){  static struct etimer periodic;  static struct ctimer backoff_timer;#if WITH_COMPOWER  static int print = 0;#endif  PROCESS_BEGIN();  PROCESS_PAUSE();  set_global_address();    PRINTF("UDP client process started/n");  print_local_addresses();  /* new connection with remote host */  client_conn = udp_new(NULL, UIP_HTONS(UDP_SERVER_PORT), NULL);   if(client_conn == NULL) {    PRINTF("No UDP connection available, exiting the process!/n");    PROCESS_EXIT();  }  udp_bind(client_conn, UIP_HTONS(UDP_CLIENT_PORT));   PRINTF("Created a connection with the server ");  PRINT6ADDR(&client_conn->ripaddr);  PRINTF(" local/remote port %u/%u/n",  UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport));#if WITH_COMPOWER  powertrace_sniff(POWERTRACE_ON);#endif  etimer_set(&periodic, SEND_INTERVAL);  while(1) {    PROCESS_YIELD();    if(ev == tcpip_event) {      tcpip_handler();    }        if(etimer_expired(&periodic)) {      etimer_reset(&periodic);      ctimer_set(&backoff_timer, SEND_TIME, send_packet, NULL);#if WITH_COMPOWER      if (print == 0) {  powertrace_print("#P");      }      if (++print == 3) {  print = 0;      }#endif    }  }  PROCESS_END();}
开发者ID:brunoliveira8,项目名称:contiki,代码行数:61,


示例29: PROCESS_THREAD

/*---------------------------------------------------------------------------*/PROCESS_THREAD(udp_client_process, ev, data){  PROCESS_BEGIN();  PROCESS_PAUSE();  set_global_address();  PRINTF("UDP client process started/n");  print_local_addresses();  /* new connection with remote host */  client_conn = udp_new(NULL, UIP_HTONS(UDP_SERVER_PORT), NULL);  udp_bind(client_conn, UIP_HTONS(UDP_CLIENT_PORT));  PRINTF("Created a connection with the server ");  PRINT6ADDR(&client_conn->ripaddr);  PRINTF(" local/remote port %u/%u/n",        UIP_HTONS(client_conn->lport), UIP_HTONS(client_conn->rport));  while(1) {    PROCESS_YIELD();    if(ev == tcpip_event) {      tcpip_handler();    }  }  PROCESS_END();}
开发者ID:Asterios,项目名称:contiki-econotag,代码行数:31,


示例30: net_create_udp_connection

/*  * FIXME: currently we associate a connection with a thread (and an * upcall thread), which is restrictive. */net_connection_t net_create_udp_connection(spdid_t spdid, long evt_id){	struct udp_pcb *up;	struct intern_connection *ic;	net_connection_t ret;	up = udp_new();		if (NULL == up) {		prints("Could not allocate udp connection");		ret = -ENOMEM;		goto err;	}	ic = net_conn_alloc(UDP, cos_get_thd_id(), evt_id);	if (NULL == ic) {		prints("Could not allocate internal connection");		ret = -ENOMEM;		goto udp_err;	}	ic->spdid = spdid;	ic->conn.up = up;	udp_recv(up, cos_net_lwip_udp_recv, (void*)ic);	return net_conn_get_opaque(ic);udp_err:	udp_remove(up);err:	return ret;}
开发者ID:songjiguo,项目名称:Monitor_ML,代码行数:31,



注:本文中的udp_new函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ udp_recv函数代码示例
C++ udp_init函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。