你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

UDP client 端能发送,但是无法接到数据(跳不到接受回调...

[复制链接]
fan-347685 发布时间:2015-8-10 11:00
UDP client 端能发送出去,但是无法接到数据(跳不到接受回调函数),,帮看看什么问题,各位????是神州的开发板源码,,不知道为什么无法接受到数据( J# Q; X7 \! H# p( B# C9 u
#define UDP_SERVER_PORT      8006
$ V& M/ ], s/ D2 x4 a1 t! s& ?+ e#define UDP_CLIENT_PORT      4
4 I; P3 y' d3 S5 a; c! W" t9 i#define TCP_PORT      4
% Q# t+ K/ }5 w( U# d6 C( X3 x* t#define UDP_CLIENT_IP                                255,255,255,255
+ R+ a0 f* j, x$ ^6 Y
. U6 E4 G) r) E' L" |4 p/ l  S; _6 }3 ]6 N0 f
void client_init(void). A! C* l) L3 z, Z' j7 _+ V9 X
{
5 k& o& E6 g% ^) U( @! T) t0 J' B   struct udp_pcb *upcb;9 N0 u! D+ U( [, z  B1 y
   struct pbuf *p;
# O; ~9 f( P" [8 }- P2 \0 n, ]                             7 J3 n$ o, A6 E
   /* Create a new UDP control block  */+ M$ J, r1 h% [! j
   upcb = udp_new();   0 B5 O1 O6 l8 u6 I6 \& ^
         SET_IP4_ADDR(&ip_udp_server,UDP_CLIENT_IP);
% m7 z/ Q% T5 [         p = pbuf_alloc(PBUF_TRANSPORT, sizeof(Sent), PBUF_RAM);
( B3 I* s3 `! m4 m7 _         p->payload = (void*)Sent;
! W7 z0 y- M3 ?( C+ G& X2 y3 k
/ h: ^( M$ Z+ B- j8 I0 C         udp_bind(upcb, IP_ADDR_ANY, 4);
" x+ f5 G9 l/ t         udp_connect(upcb, &ip_udp_server, UDP_SERVER_PORT);         : f2 B( S, d( B; m2 b8 b
         udp_send(upcb, p);
& z0 `# ]! ~. u; ~) p; x        udp_recv(upcb, udp_client_callback, NULL);
5 s, P7 K6 k+ g; N4 y; d" E1 K% n; `% {2 e
        /* Free the p buffer */3 k1 [/ H  i1 ~2 H) @
        pbuf_free(p);& G% ?0 ]" z; J
}
5 Q% o" ]! g/ c% C. V) ^0 B) ]3 n* T5 w( m
void udp_client_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, u16_t port)
" k( U/ {8 X7 x4 O& y. C{$ P3 P4 o6 ~3 _& ~5 D
  struct tcp_pcb *pcb;3 t$ u' C$ `; j6 C! B8 k- ^' K
  __IO uint8_t iptab[4];
( N& _& X6 o8 j7 L1 Q5 y/ U  uint8_t iptxt[20];( o& W' K# y! L5 {
  /* Create a new TCP control block  */% J! ~8 Z  T. S; d; |4 v
  pcb = tcp_new();  X8 R9 O# a4 Y' x
* I! Q6 Z) e1 k5 @/ L3 c) C* p
  /* Assign to the new pcb a local IP address and a port number */
. ]  a( c0 |; z3 B  tcp_bind(pcb, IP_ADDR_ANY, TCP_PORT);) f2 L8 Z7 k; Z% x. y6 g# ?

4 n7 }+ z* h/ e) x8 x5 r  /* Connect to the server: send the SYN */3 @" a/ T; I$ N, q% {
  tcp_connect(pcb, addr, TCP_PORT, tcp_client_connected);
) X$ j7 ?7 ?2 J1 _) U% j% b( p6 H+ l6 n: B. Z
  /* Free the p buffer */
' Q. I6 H+ _; r% P- J/ K  pbuf_free(p);
. `0 o% E  y7 v  ?4 O4 ~}
& q: R3 i" o, b( M1 M
9 W$ l8 `2 ]2 {; y: M" A; ?5 ^( v4 a" W

udp server端

udp server端
收藏 评论3 发布时间:2015-8-10 11:00

举报

3个回答
JackieLaura 回答时间:2015-8-10 11:33:51
客户端IP是不是有问题啊。。。
stary666 回答时间:2015-8-10 14:18:39
看看,,,,,,,,,,,,
fan-347685 回答时间:2015-8-10 17:59:06
JackieLaura 发表于 2015-8-10 11:33
/ ?$ i; V- [  I% Q# P& Q5 |客户端IP是不是有问题啊。。。

) y; l5 b1 i1 E8 i9 a7 |  tcp_bind(pcb, IP_ADDR_ANY, TCP_PORT);你是不是指,绑定的本地IP_ADDR_SNY地址有问题?

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版