Advertisement
alk0v

uIP UDP Server

Mar 4th, 2016
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.97 KB | None | 0 0
  1. #define UDP_HDR ((struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])
  2.  
  3. static struct uip_udp_conn *snmp_conn;
  4.  
  5.  
  6. void snmp_init()
  7. {
  8.  uip_ipaddr_t addr;
  9.  uip_ipaddr(&addr, 192,168,1,1);
  10.  snmp_conn = uip_udp_new(0, 0); // '0' means any port from sender
  11.  if(snmp_conn != 0) {
  12.    uip_udp_bind(snmp_conn, HTONS(PORT_SNMP_AGENT));
  13. }
  14.  
  15. void snmp_appcall(){
  16.     if(uip_newdata()) {
  17.       newdata();
  18.     }
  19. }
  20.  
  21.  
  22. void newdata(){
  23.   //порт печатается правильно
  24.   printf("Remote port = %u\r\n", HTONS(UDP_HDR->srcport));
  25.   //пробую поменять порт получателя на порт отправителя
  26.   snmp_conn->rport = UDP_HDR->srcport; // UDP port
  27.   //и отправить принятые 20 байт обратно
  28.   uip_udp_send(20);
  29.   //затем меняю порт получателя на 0 как в init
  30.   snmp_conn->rport = 0;
  31.   //данные уходят правильно, но порт получателя = 0
  32.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement