社区
网络编程
帖子详情
求助,怎么将tcp传输通信改成udp通信!!!!
huoshen001
2005-07-14 05:13:24
我要把一个tcp的变成UDP通信的,但是不知道怎么改,想找点资料,希望大家给点帮助。看不大懂我的意思的,我可以把我的代码给你看下。QQ:77203738。
...全文
1531
14
打赏
收藏
求助,怎么将tcp传输通信改成udp通信!!!!
我要把一个tcp的变成UDP通信的,但是不知道怎么改,想找点资料,希望大家给点帮助。看不大懂我的意思的,我可以把我的代码给你看下。QQ:77203738。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huoshen001
2005-07-18
打赏
举报
回复
谢谢大家的帮忙,我差不多解决这个问题了,顺便问下怎么给你们分数???
Zhymax
2005-07-17
打赏
举报
回复
CString strAddr;
UINT nPort;
intSize = m_ClientSocket->ReceiveFrom(strData, sizeof(strData),strAddr,nPort,0);
flashboy
2005-07-17
打赏
举报
回复
没那么容易吧,TCP改UDP, 你得考虑是否在乎数据的可靠性,如果在乎,那么需要在应用层来实现可靠性
Practise_Think
2005-07-17
打赏
举报
回复
这很麻烦的,如果早期开发时封装可以的话(协议与IO操作松耦的话),可将IO那部分内部修改或重写就可以了,不然的话,几乎要整个网络部份重写,那就头痛了
huoshen001
2005-07-15
打赏
举报
回复
我是要对一个按钮进行控制,点一下按钮就将消息发送出去。
我是这么写的
BOOL CFiTSATesterDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_ClientSocket->Create(8080,SOCK_DGRAM,"192.168.168.177");
m_ClientSocket->Bind(8080,"192.168.168.177");
..........
}
void CFiTSATesterDlg::OnBtnTo01()
{
CString strIPAddress;
CString strPort;
long port;
m_Edit_sv_ip.GetWindowText(strIPAddress);
m_Edit_sv_port.GetWindowText(strPort);
port = atol(strPort);
CString strMess;
CString strTemp;
CString disData = "送信:";
m_Edit_01_data.GetWindowText(strMess);
strMess = strMess + "\r";
m_ClientSocket->SendTo(strMess, strMess.GetLength(),port,strIPAddress,0);
for( int i = 0; i < strMess.GetLength(); i++ ) {
strTemp = disData;
disData.Format( "%s %02X", strTemp, (unsigned char)strMess.GetAt(i) );
}
disData = disData + "\r\n";
m_ClientSocket->AddText(disData);
}
CClientSocket *m_ClientSocket;
CClientSocket 是继承csocket的。
这里我把消息发出去后,经过服务器的处理后,接收服务器发来的数据,我接收应该怎么写?
void CClientSocket::OnReceive(int nErrorCode)
{
CClientSocket *m_ClientSocket;
CString disData = "受信:";
int intSize;
unsigned char strData[1024];
memset(strData, '\0', sizeof(strData));
m_ClientSocket->Create(8080,SOCK_DGRAM,"192.168.168.177");
m_ClientSocket->Bind(8080,"192.168.168.177");
intSize = m_ClientSocket->ReceiveFrom(strData, sizeof(strData),"192.168.168.71",8193,0);
if (intSize > 0)
{
CString tmp;
if( mode == 0 ) {
for( int i = 0; i < intSize; i++ ) {
tmp = disData;
disData.Format( "%s %02X", tmp, strData[i] );
}
disData = disData + "\r\n";
AddText(disData);
} else if( mode == 1 ) {
this->Send(this->mess, this->mess.GetLength());
}
}
CSocket::OnReceive(nErrorCode);
}
是这样么???
但是我这么写好像编译有问题。头大啊..........
qrlvls
2005-07-15
打赏
举报
回复
根据你的具体应用要求有所不同,如果仅仅是点-点传输的话应该是很容易的,只不过需要注意保持数据的可靠性,可以模拟滑动窗口方式,参考 RUDP
AntonlioX
2005-07-14
打赏
举报
回复
你可以去看看 vckbase里面的例子
http://www.vckbase.com/document/viewdoc/?id=1281
http://www.vckbase.com/document/viewdoc/?id=1284
AntonlioX
2005-07-14
打赏
举报
回复
只要你的应用层协议不是很复杂 一般将TCP改为UDP都是很简单的。按照UDP的建立只是比TCp少了 connect 和 listen accept 。我讲的 不是很标准,但是基本意思这是如此。
你在转换的时候 要注意每次发出的包的大小 ,如果超过了MTU 就分包发送 ,
Zhymax
2005-07-14
打赏
举报
回复
如果实现结构比较清晰的话,应该不是很麻烦
ihavenoidea
2005-07-14
打赏
举报
回复
在网上搜一下 UDP 的相关例子
ihavenoidea
2005-07-14
打赏
举报
回复
重新实现一遍吧~
huoshen001
2005-07-14
打赏
举报
回复
我是要模拟一个客户端的设备,进行和一个服务器通信,本来是TCP的,后来发现用那个服务是用UDP协议的.我尝试在原来的代码里面改过了,但是还是不行.因为以前都没做过,不知道怎么入手了.谁有兴趣帮忙的话,我可以将代码发给他,
哎 头都大了 5555
菲斯可儿
2005-07-14
打赏
举报
回复
晕啊,能行吗?如果程序不复杂,还是重新实现一遍吧。
wang_yuanwai
2005-07-14
打赏
举报
回复
udp是面向无连接的,你把socket函数的SOCK_STREAM改成SOCK_DGRAM,sever端不用listen和accept函数,client端不用connect函数,原来的都留着就行了,祝你好运!
传输
层协议
UDP
与
TCP
本文深入介绍了
传输
层的
UDP
和
TCP
协议。先复盘端口号知识,接着阐述
UDP
协议特点、格式、缓冲区等,以及基于它的应用层协议。重点讲解
TCP
协议,包括确认应答、超时重传、连接管理等机制,还分析了
TCP
异常情况,最后对比
TCP
和
UDP
并探讨用
UDP
实现可靠
传输
的方法。
计网
传输
层协议:
UDP
和
TCP
本文详细介绍了
TCP
和
UDP
协议,包括它们与应用层的联系、端口号的使用、协议特性。
TCP
的特点是可靠
传输
,通过确认应答和超时重传来保证数据的准确性,而
UDP
则是无连接、不可靠
传输
,适合于少量数据和实时
通信
。此外,文章还阐述了
TCP
的三次握手和四次挥手过程,以及滑动窗口、流量控制和拥塞控制等机制,旨在提高
传输
效率。
传输
通信
协议
TCP
和
UDP
本文详细介绍了
TCP
和
UDP
两种
传输
层
通信
协议。
TCP
面向连接、可靠
传输
,适用于文件
传输
等场景;
UDP
无连接、低延迟,适用于实时音视频流等场景。还阐述了两者区别,并从可靠性、实时性等多方面说明如何选择合适的协议。
Java中网络编程、
TCP
通信
与
UDP
通信
本文深入解析
TCP
和
UDP
两种网络
通信
协议的特点与应用场景,对比二者在连接建立、数据
传输
可靠性和资源消耗等方面的差异,并通过Java代码实例展示如何实现
TCP
和
UDP
通信
。
UDP
/
TCP
实时
传输
图像
本文详细介绍了在C#中使用
UDP
和
TCP
进行图像
传输
的实现方式。首先阐述了
UDP
适合图像
传输
的原因,即其快速但可能丢包的特性。接着展示了如何构建
UDP
图像发送端和接收端,利用EmguCV获取和压缩图像,以及如何使用
TCP
进行连接确认。在接收端,图像被解码并显示。此外,文章还探讨了
TCP
图像
传输
的可靠性,包括数据长度预知、粘包问题的解决,并给出了服务端和客户端的Python实现。最后,通过
UDP
实现1080P图像的分片
传输
,接收端使用多线程接收并显示图像。
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章