社区
网络编程
帖子详情
TCP服务器接受数据问题
w20011025
2010-07-19 03:30:04
1.服务器采用TCP协议
2.客户端向服务端发送数据,每10秒发送一次数据 数据大小为250Kb
3,间隔10秒钟向服务器发送一次。
4。客户端发送结尾字符为“ZZ”(0x5A5A)
问:服务器程序如何接收250KB 数据,以及确认完毕?谢谢。
...全文
142
17
打赏
收藏
TCP服务器接受数据问题
1.服务器采用TCP协议 2.客户端向服务端发送数据,每10秒发送一次数据 数据大小为250Kb 3,间隔10秒钟向服务器发送一次。 4。客户端发送结尾字符为“ZZ”(0x5A5A) 问:服务器程序如何接收250KB 数据,以及确认完毕?谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
w20011025
2010-07-20
打赏
举报
回复
[Quote=引用 16 楼 icedmilk 的回复:]
send(m_sockConn, (const char*)f1, sizeof(f1), 0);
[/Quote]
直接发送float数组?
我测试下,谢谢
Icedmilk
2010-07-20
打赏
举报
回复
send(m_sockConn, (const char*)f1, sizeof(f1), 0);
w20011025
2010-07-19
打赏
举报
回复
[Quote=引用 14 楼 icedmilk 的回复:]
send(m_sockConn, (const char*)sendBuf, 800, 0);
recv(m_sockConn, (char*)recvBuf, 800, 0);
[/Quote]
1。TCP服务端
如何把float型数组转换成 BYTE数组发送呢?
float f1[]={1.1,1.3,1.3......}
BYTE b[]={...},如何转换呢?
2。在b[]末尾加入 0X5A5A 后(服务端TCP)发送数据
3。服务端发送数据send();
Icedmilk
2010-07-19
打赏
举报
回复
send(m_sockConn, (const char*)sendBuf, 800, 0);
recv(m_sockConn, (char*)recvBuf, 800, 0);
w20011025
2010-07-19
打赏
举报
回复
char sendBuf[800]={0xAA,0x00,0x33,0x4A,0x00,0x0B,0x00,0x01,0x00,0x0B,0x0B,0xAE,0x80};
服务器如何发送十六进制的数据?
客户端又如何接受数据?
qepwudann
2010-07-19
打赏
举报
回复
如果你用的是SOCK_STREAM
你什么多余的都不用考虑啦
你甚至可以这样写
客户端 send(pBuff, 250*1024 ...
服务端 recv(pBuff, 250*1024 ...
你的大小是固定的
所以也不用什么包头
再提醒你一下,TCP的套接字又叫流式套接字,就是一个数据流,在此协议之上,根本就没有什么报的概念
send 是把数据放入数据流
Icedmilk
2010-07-19
打赏
举报
回复
我所说的协议是TCP协议
如果你用的是SOCK_STREAM
你什么多余的都不用考虑啦
你甚至可以这样写
客户端 send(pBuff, 250*1024 ...
服务端 recv(pBuff, 250*1024 ...
你的大小是固定的
所以也不用什么包头
再提醒你一下,TCP的套接字又叫流式套接字,就是一个数据流,在此协议之上,根本就没有什么报的概念
send 是把数据放入数据流
recv 在另一端取出来的就是保证顺序,保证没有损失的数据
这就是TCP本身的能力。
[Quote=引用 7 楼 w20011025 的回复:]
引用 4 楼 icedmilk 的回复:
引用 3 楼 w20011025 的回复:
引用 1 楼 icedmilk 的回复:
。。。这个有什么问题吗?
recv 250kb之后close即可
ZZ是多余的
你都约定了发送数据的大小,就没必要确认完毕了
问下接受250Kb需要几秒钟?直接接收就可以了
数据不大吗?
这个直接接受就行了,TCP协议很棒
你就直接在……
[/Quote]
Eleven
2010-07-19
打赏
举报
回复
[Quote=引用 9 楼 w20011025 的回复:]
引用 8 楼 wangningyu 的回复:
这个你自定义就行了吧。
比如一次发送254个字节
包头:2 字节
数据:250字节
包尾:2 字节
我发送的是250Kb
数据:250Kb
包尾:2byte (0x5A5A,结尾字符"ZZ")
直接判断结尾字符0x5A5A,就可以了吗?
[/Quote]
你的包头中都有一个完整包的长度信息了,其实就不需要结尾字符了
w20011025
2010-07-19
打赏
举报
回复
[Quote=引用 8 楼 wangningyu 的回复:]
这个你自定义就行了吧。
比如一次发送254个字节
包头:2 字节
数据:250字节
包尾:2 字节
[/Quote]
我发送的是250Kb
数据:250Kb
包尾:2byte (0x5A5A,结尾字符"ZZ")
直接判断结尾字符0x5A5A,就可以了吗?
汪宁宇
2010-07-19
打赏
举报
回复
[Quote=引用 7 楼 w20011025 的回复:]
是在局域网内发送,接受数据。
至于250KB需要拆多少个包,协议自己搞定
一时刚接触,这协议如何写?
[/Quote]
这个你自定义就行了吧。
比如一次发送254个字节
包头:2 字节
数据:250字节
包尾:2 字节
w20011025
2010-07-19
打赏
举报
回复
[Quote=引用 4 楼 icedmilk 的回复:]
引用 3 楼 w20011025 的回复:
引用 1 楼 icedmilk 的回复:
。。。这个有什么问题吗?
recv 250kb之后close即可
ZZ是多余的
你都约定了发送数据的大小,就没必要确认完毕了
问下接受250Kb需要几秒钟?直接接收就可以了
数据不大吗?
这个直接接受就行了,TCP协议很棒
你就直接在客户端send
在服务端recv
至于25……
[/Quote]是在局域网内发送,接受数据。
至于250KB需要拆多少个包,协议自己搞定
一时刚接触,这协议如何写?
来灵
2010-07-19
打赏
举报
回复
在客户端每次发送1K数据,循环发送,直到发送完毕
同样在服务器端循环接收,直到实际收到的数据长度等于实际发送的数据长度,即收到了ZZ,本次发收完成
Eleven
2010-07-19
打赏
举报
回复
自己封装应用层协议,加个包头长度,接收端先读出包头长度信息,然后再按该长度读取后续的数据。。。
Icedmilk
2010-07-19
打赏
举报
回复
[Quote=引用 3 楼 w20011025 的回复:]
引用 1 楼 icedmilk 的回复:
。。。这个有什么问题吗?
recv 250kb之后close即可
ZZ是多余的
你都约定了发送数据的大小,就没必要确认完毕了
问下接受250Kb需要几秒钟?直接接收就可以了
数据不大吗?
[/Quote]
这个直接接受就行了,TCP协议很棒
你就直接在客户端send
在服务端recv
至于250KB需要拆多少个包,协议自己搞定
需要多少时间要看网络情况啊
如果是局域网,这是瞬间的事情。
w20011025
2010-07-19
打赏
举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]
。。。这个有什么问题吗?
recv 250kb之后close即可
ZZ是多余的
你都约定了发送数据的大小,就没必要确认完毕了
[/Quote]问下接受250Kb需要几秒钟?直接接收就可以了
数据不大吗?
m_tornado
2010-07-19
打赏
举报
回复
数据大小250K?一次发完?
不大可能吧,这数据大了点儿~
Icedmilk
2010-07-19
打赏
举报
回复
。。。这个有什么问题吗?
recv 250kb之后close即可
ZZ是多余的
你都约定了发送数据的大小,就没必要确认完毕了
基于
TCP
/IP~Android客户端与PC通信源码
基于
TCP
~socket,Android客户端与PC通信,客户端源码。已经测试,可用。附带apk,和网络调试助手,方便测试。只需提供
服务器
的IP和端口号,...重点是客户端时时接收
服务器
端发送来的
数据
。采用 Handler和Thead结合。
python
tcp
收发
数据
_Python高级编程之
TCP
发送与接收
数据
2020-07-13
这个全双工通信将会占用两个应用程序之间的通信路线,知道一方或者两方都关闭为止三次握手初版,四次握手image.png进化版,三次握手image.png
数据
传输image.png四次挥手image.png注意:这个地方...
TCP
服务器
接收
数据
保存至MYSQL
数据
库(Ubuntu平台)
最终效果图(更新A3501对应的数值并...
TCP
套接字
服务器
( server.c 文件) #include "head.h" #include <mysql/mysql.h> #include "m.h" int main(int argc,char **argv) { //创建
tcp
套接字 int fd=socket
关于QT中
Tcp
服务器
端接收
数据
并解析
数据
的
问题
解决办法
对于
数据
传输
问题
,无非就是
数据
的类型转换
问题
,如果想要深刻认识
数据
传输,就必须知道
数据
在串行传输过程中或者在
TCP
传输过程中,都是以二进制为基础来实现的(也就01010101),深刻了解了这个,后面的
数据
传输...
Java实践(一)开
TCP
服务器
接收客户端
数据
,解析保存到本地txt
题外话:不得不说Java的内容着实不少,边上班边学习点java,学了个皮毛供自己玩玩,做些小实践一点点搭建个基础物联网通讯。...先用java写一个
tcp
服务器
,接收来自客户端的
数据
,解析保存为txt文件记录数.
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章