Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define UDP_HDR ((struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])
- static struct uip_udp_conn *snmp_conn;
- void snmp_init()
- {
- uip_ipaddr_t addr;
- uip_ipaddr(&addr, 192,168,1,1);
- snmp_conn = uip_udp_new(0, 0); // '0' means any port from sender
- if(snmp_conn != 0) {
- uip_udp_bind(snmp_conn, HTONS(PORT_SNMP_AGENT));
- }
- void snmp_appcall(){
- if(uip_newdata()) {
- newdata();
- }
- }
- void newdata(){
- //порт печатается правильно
- printf("Remote port = %u\r\n", HTONS(UDP_HDR->srcport));
- //пробую поменять порт получателя на порт отправителя
- snmp_conn->rport = UDP_HDR->srcport; // UDP port
- //и отправить принятые 20 байт обратно
- uip_udp_send(20);
- //затем меняю порт получателя на 0 как в init
- snmp_conn->rport = 0;
- //данные уходят правильно, но порт получателя = 0
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement