22#include <stdint.h>
33#include <stdio.h>
44
5- #include "net/af.h"
6- #include "net/conn/udp.h"
5+ #include "net/sock/udp.h"
76#include "net/ipv6/addr.h"
87#include "thread.h"
98
109#define SERVER_MSG_QUEUE_SIZE (8)
1110#define SERVER_BUFFER_SIZE (64)
1211
1312static bool server_running = false;
14- static conn_udp_t conn ;
13+ static sock_udp_t sock ;
1514static char server_buffer [SERVER_BUFFER_SIZE ];
1615static char server_stack [THREAD_STACKSIZE_DEFAULT ];
1716static msg_t server_msg_queue [SERVER_MSG_QUEUE_SIZE ];
1817
1918void * _udp_server (void * args )
2019{
21- uint16_t port = (uint16_t ) atoi (args );
22- ipv6_addr_t server_addr = IPV6_ADDR_UNSPECIFIED ;
20+ sock_udp_ep_t server = { .port = atoi (args ), .family = AF_INET6 };
2321 msg_init_queue (server_msg_queue , SERVER_MSG_QUEUE_SIZE );
2422
25- if (conn_udp_create ( & conn , & server_addr , sizeof ( server_addr ), AF_INET6 , port ) < 0 ) {
23+ if (sock_udp_create ( & sock , & server , NULL , 0 ) < 0 ) {
2624 return NULL ;
2725 }
2826
2927 server_running = true;
30- printf ("Success: started UDP server on port %" PRIu8 " \n" , port );
28+ printf ("Success: started UDP server on port %u \n" , server . port );
3129
3230 while (1 ) {
3331 int res ;
34- ipv6_addr_t src ;
35- size_t src_len = sizeof ( ipv6_addr_t );
36- if (( res = conn_udp_recvfrom ( & conn , server_buffer , sizeof (server_buffer ) - 1 ,
37- & src , & src_len , & port )) < 0 ) {
32+
33+ if (( res = sock_udp_recv ( & sock , server_buffer ,
34+ sizeof (server_buffer ) - 1 , SOCK_NO_TIMEOUT ,
35+ NULL )) < 0 ) {
3836 puts ("Error while receiving" );
3937 }
4038 else if (res == 0 ) {
@@ -51,20 +49,20 @@ void *_udp_server(void *args)
5149
5250int udp_send (int argc , char * * argv )
5351{
52+ int res ;
53+ sock_udp_ep_t remote = { .family = AF_INET6 };
54+
5455 if (argc != 4 ) {
5556 puts ("Usage: udp <ipv6-addr> <port> <payload>" );
5657 return -1 ;
5758 }
5859
59- int res ;
60- ipv6_addr_t src = IPV6_ADDR_UNSPECIFIED , dst ;
61- if (ipv6_addr_from_str (& dst , argv [1 ]) == NULL ) {
60+ if (ipv6_addr_from_str ((ipv6_addr_t * )& remote .addr , argv [1 ]) == NULL ) {
6261 puts ("Error: unable to parse destination address" );
6362 return 1 ;
6463 }
65-
66- if ((res = conn_udp_sendto (argv [3 ], strlen (argv [3 ]), & src , sizeof (src ), & dst , sizeof (dst ),
67- AF_INET6 , 1234 , (uint16_t ) (atoi (argv [2 ])))) < 0 ) {
64+ remote .port = atoi (argv [2 ]);
65+ if ((res = sock_udp_send (NULL , argv [3 ], strlen (argv [3 ]), & remote )) < 0 ) {
6866 puts ("could not send" );
6967 }
7068 else {
0 commit comments