FPGA和PC端MFC程序进行UDP通讯

FPGA和PC端MFC程序进行UDP通讯,第1张

分包与重组的过程是肯定要有的,但问题是 UDP 的传输方式不保证可靠性,但是文件传输必须要可靠,这一点你想怎么解决,我的看法是你需要在你的协议中解决这个问题,为了增强可靠性就需要在你的程序中实现接让收方发送回执。你要考虑的是如果丢包双方该如何响应?Windows 消息机制只能满足处理时的可靠性,不能保证传输过程的可靠性。

呵呵整一个socket盲

还一上来就要用封装好的mfc类,哀分少啊,帮你说说吧

建立一个新类从casyncsocket

public

派生来,叫

mysock,然后在cxxxdlg的头文件加个变量

mysock

m_socket

然后

cxxxdlg中的initdialog初始化,

m_socket.create(0,sock_dgram)

使用udp恩首先你要考虑到服务器端也是使用udp的协议的,然后就可以调用

m_socket.sendto(buffer,strlen(buffer),3333,"xxx.xxx.xxx.xxx")

3333是服务器等待接收数据的端口,xxx.xxx.xxx.xxx

是服务器的ip,恩域名也可以...如果服务器是tcp的话要用connect连接然后用send方法发送数据,使用完调用close关闭socket,也疴可以不关,类销毁时会自动释放所使用资源,恩至于要等待接收数据,udp需要bind,可以在create的时候就绑定上,而tcp不光要绑定上还要listen监听,tcp有连接来后要用accept接收连接,给它一个新的

casyncsocket,呵呵就说这么点,对了在bool

cxxxapp::initinstance()的初始化函数中添加

if

(!afxsocketinit())

{

afxmessagebox(idp_sockets_init_failed)

return

false

}

还有头文件

#include

<afxsock.h>

//

mfc

socket

extensions

.或者你在创建工程时选择上winsocket,

恩对了csocket是堵塞的套接字,需要同步很强的工作再选择他,一般使用异步的,给分!

socket 编程啊,创建socket,接收udp数据包。

你可以使用WinSocket ,也可以用MFC封装好的CSocket。

保存文件最简单就用fileopen,也可以用MFC封装的CFile。

这个具体用法MSDN上查吧,不是一两句话能说清楚的。

初学者要多看文档,微软的文档MSDN非常完善,什么都能找到


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12027927.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存