最近移植了lwip网络协议栈,编写了一些基本都的网络测试程序,lwip封装了一层socket层,这样就可以很方便的将其他基于socket编程的代码移植到lwip上面,本文就首先介绍下,UDP客户端编程的基本步骤及测试代码。
1、创建一个数据包类型socket
2、绑定socket IP地址及端口号
3、往绑定好的socket发送数据
通过以上步骤,即可以搭建好一个基于socket 的客户端,代码如下所示
/*
* send UDP packet to PC
* remote IP: 192.168.0.100 or INADDR_BROADCAST
*/
#include <lwip/sockets.h>
#include <lwip/err.h>
#include <lwip/sys.h>
#define PORT 50000
char udp_msg[] = "this is a UDP test package";
static void udp_client_thread(void *p_arg)
{
struct sockaddr_in client_addr;
int sock_fd; /* client socked */
int err;
int count = 0;
err = err;
sock_fd = socket(AF_INET, SOCK_DGRAM, 0);