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

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

[复制链接]
fan-347685 发布时间:2015-8-10 11:00
UDP client 端能发送出去,但是无法接到数据(跳不到接受回调函数),,帮看看什么问题,各位????是神州的开发板源码,,不知道为什么无法接受到数据7 L# j4 k. h7 Q5 t/ Z
#define UDP_SERVER_PORT      8006
$ n  ^7 r/ r; ]( O4 o0 E6 ~#define UDP_CLIENT_PORT      4
2 U- x' \: b& O) Z. R+ N5 C#define TCP_PORT      46 R9 |, [# Z& f- s* M
#define UDP_CLIENT_IP                                255,255,255,2552 D. G5 c& M7 Y: ?9 d
4 Z: T0 M, z% `9 T
6 X5 R. W5 `: g! J4 b/ I
void client_init(void)
! A. N$ t1 f: S4 y{; t6 c8 L3 u' G% k/ y
   struct udp_pcb *upcb;
# u0 n. U2 h! C: K5 |( Y1 l( N   struct pbuf *p;  y8 _9 \2 a. ?- Y/ w% ^3 A
                             ; q/ f" f. Z7 d- _6 \8 M! S
   /* Create a new UDP control block  */
. g" i) H! X4 B9 m. C4 j   upcb = udp_new();   3 c6 s7 h; r/ `* c5 P2 p
         SET_IP4_ADDR(&ip_udp_server,UDP_CLIENT_IP);
2 r4 t; C0 v- k. l1 O         p = pbuf_alloc(PBUF_TRANSPORT, sizeof(Sent), PBUF_RAM);3 L* ?. S& u8 G& l6 ~: ~
         p->payload = (void*)Sent; # _# B$ L& S2 t6 g
; j7 w) O$ _- f# p
         udp_bind(upcb, IP_ADDR_ANY, 4);
8 t6 ]7 [4 e! [0 Y3 j4 d# I% p( X2 V         udp_connect(upcb, &ip_udp_server, UDP_SERVER_PORT);         1 I0 b/ C, X  r5 T6 f
         udp_send(upcb, p);
3 g5 g2 K& L3 u/ z        udp_recv(upcb, udp_client_callback, NULL);
0 Q+ J2 I) d' ?; C- ?0 {0 }- q# G4 f$ M' C$ B
        /* Free the p buffer */
, {2 d/ I/ x3 y$ n( ]        pbuf_free(p);
! B6 z: M( A( V. ?: O: \1 ]}
% x& B9 Z- X! D  ]5 v' g9 e; G" n6 @3 R% o+ x
void udp_client_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, u16_t port)
/ H7 b& K9 p" b{/ @) H: V8 }/ }6 y8 O  A
  struct tcp_pcb *pcb;$ q0 e5 Q7 k$ ~
  __IO uint8_t iptab[4];: F# q5 O# w# y3 `) |
  uint8_t iptxt[20];
" g% f: q# @2 ?) Y  /* Create a new TCP control block  */
$ b2 k2 R: F" A  pcb = tcp_new();% \3 k: v. y1 p' e! H

2 c- u0 `* k, O8 D, c2 q, j" V8 d! n  /* Assign to the new pcb a local IP address and a port number */, U& s. L% E, g2 B1 l! Y
  tcp_bind(pcb, IP_ADDR_ANY, TCP_PORT);+ R9 R+ B9 A% M! C; e

! \" s+ c0 \4 h  /* Connect to the server: send the SYN */  m  @& n, X4 D* o; L& |8 S: O
  tcp_connect(pcb, addr, TCP_PORT, tcp_client_connected);
; ^0 p4 N- \8 ^5 k. K! A7 [6 I8 R2 {" a* P6 B& H$ A
  /* Free the p buffer */
1 N: z. n) b) _8 F, U  pbuf_free(p);; \3 [  Q9 `0 V' v' Z, G5 U/ J
}  a+ E2 B& u/ J5 C

$ h3 x; l0 N; w8 r& M. u0 r# z
) E; n; B, @4 R" @4 c. L$ m% i

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
% R8 k' E: u7 R1 R: Y; O客户端IP是不是有问题啊。。。
+ U3 g& i2 v' I8 d! a) _. h
  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 手机版