udp_pair
0.1.1
一个非常简单的 C 对象,它包装了 BSD 套接字 API 以提供 UDP 套接字对抽象。基本上来说,您有两个已知端点需要通过 UDP 相互通信。您知道正在接收的端口以及另一个端点的地址/端口。您可以定义一个 UDP 对对象来表示您的端点,并简单地发送/接收该设置。
如果你看一下代码,你会发现它主要是一个玩具,因为执行这样的设置非常简单( bind()
、 connect()
、 send()
、 recv()
),但对于那些人来说,它可以是一个方便的抽象谁不那么精通套接字。
struct udp_pair * pair = udp_pair_create ( recv_port , dest_ip4 , dest_port );
char buf [ 512 ];
while ( 1 ) {
ssize_t bytes_recvd = 0 ;
udp_pair_recv ( pair , ( void * ) buf , sizeof ( buf ), & bytes_recvd );
if ( bytes_recvd > 0 ) {
udp_pair_send ( pair , ( void * ) buf , bytes_recvd , NULL );
}
}
udp_pair_free ( pair );
由于错误检查,示例源比此代码段更详细。提供了三个示例:
example/echo_server.c
example/spam_hello_world.c
bin/udpcat.c
通常的 CMake/Make 舞蹈。
mkdir build
cd build
cmake ..
make
udpcat
示例一旦构建完成,您就可以让两个udpcat
进程非常简单地相互通信。只需打开一个会话为udpcat 12345 127.0.0.1 12346
,另一个会话为udpcat 12346 127.0.0.1 12345
。在提示符下输入的任何行( stdin
输入)都将被发送到其他udpcat
进程并打印到stdout
。