summaryrefslogtreecommitdiff
path: root/examples/network/udpserver.c
diff options
context:
space:
mode:
author[email protected] <[email protected]>2012-06-14 15:47:27 +0000
committer[email protected] <[email protected]>2012-06-14 15:47:27 +0000
commit5cf2b9c3a2ac321cc994d0810fb17740a2fe999e (patch)
treed78dedeaa72a092e499d7efd760b93614301bedf /examples/network/udpserver.c
parent7582459691aa6c12e2e250fac339d5051474932a (diff)
Fixed buffer size issue.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2166 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'examples/network/udpserver.c')
-rw-r--r--examples/network/udpserver.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/examples/network/udpserver.c b/examples/network/udpserver.c
index d480ff3d14..ee84e9d061 100644
--- a/examples/network/udpserver.c
+++ b/examples/network/udpserver.c
@@ -1,6 +1,8 @@
#include <rtthread.h>
#include <lwip/sockets.h> /* 使用BSD socket,需要包含sockets.h头文件 */
+#define BUFSZ 1024
+
void udpserv(void* paramemter)
{
int sock;
@@ -10,7 +12,7 @@ void udpserv(void* paramemter)
struct sockaddr_in server_addr, client_addr;
/* 分配接收用的数据缓冲 */
- recv_data = rt_malloc(1024);
+ recv_data = rt_malloc(BUFSZ);
if (recv_data == RT_NULL)
{
/* 分配内存失败,返回 */
@@ -51,8 +53,8 @@ void udpserv(void* paramemter)
while (1)
{
- /* 从sock中收取最大1024字节数据 */
- bytes_read = recvfrom(sock, recv_data, 1024, 0,
+ /* 从sock中收取最大BUFSZ - 1字节数据 */
+ bytes_read = recvfrom(sock, recv_data, BUFSZ - 1, 0,
(struct sockaddr *)&client_addr, &addr_len);
/* UDP不同于TCP,它基本不会出现收取的数据失败的情况,除非设置了超时等待 */