社区
网络及通讯开发
帖子详情
[高级问题2]请问大家一个网络编程的方法问题?
佣工7001
2004-12-14 05:26:44
我的程序中采用TServerSocket和TClientSocket编程,NonBlocking方式。
问题是在某个时间我的Client程序需要向服务器连续发出两个命令,但是服务器端在一个包里面收到了!请问作过类似程序的大虾,如果不采用自己封包的格式,怎末能保证连续发出的包,对方分两次收到呢?
...全文
222
4
打赏
收藏
[高级问题2]请问大家一个网络编程的方法问题?
我的程序中采用TServerSocket和TClientSocket编程,NonBlocking方式。 问题是在某个时间我的Client程序需要向服务器连续发出两个命令,但是服务器端在一个包里面收到了!请问作过类似程序的大虾,如果不采用自己封包的格式,怎末能保证连续发出的包,对方分两次收到呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
佣工7001
2004-12-14
打赏
举报
回复
回 netsys2(来电!) ,这下有决心了,看来这能这样做了,多谢指点。
netsys2
2004-12-14
打赏
举报
回复
SOCKET编程中,你发的数据都是看成“数据流”的方式,
不管你是怎么发送,例如这次发10个,下次20,从接收者来看都是10+20+。。。。
因此为了区分每个包,你:
必须自定义应用层协议,通过包头自己来区分两个包!
这是全球SOCKET编程人员的标准用法!
我有个非标准做法:
每发一个包,SLEEP若干毫秒,对方就可以分开收了。
但这太影响效率了!
不推荐使用!
随便说一句,
为了提高传输效率,TCP层专门有个Nagle算法,用于将小包组成大包再发送。
因此不要再乱想了,
记住:SOCKET的数据是数据流,有头无尾,你要判断尾巴,就得自己设计!
Maconel
2004-12-14
打赏
举报
回复
呵呵,没做过,只是提供一个思路。
Maconel
2004-12-14
打赏
举报
回复
client发完一个包后,等待server的确认信息,然后发下一个包
Rust
高级
网络编程
本文围绕 Rust
高级
网络编程
展开,介绍了在 Rust 中实现 WebSocket 服务器,包括基本实现、消息处理和广播功能;讲解了使用 HTTP 客户端进行 API 调用,涉及 GET、POST 请求及错误重试机制;还提及网络安全性,如 HTTPS 实现、自定义客户端和身份验证,为构建网络应用提供基础。
深入探索 Android
高级
网络编程
本文深入探讨Android
高级
网络编程
,涵盖HTTP/2和HTTP/3协议,介绍Kotlin协程进行异步编程,阐述网络请求优化策略如连接复用、预取预加载和缓存,还提及网络状态与性能监控、安全性加强措施,以及处理复杂数据和API的
方法
,助于构建高效网络应用。
Visual C++
网络编程
高级
指南
本文围绕《Visual C++网络
高级
编程》展开,介绍了在Visual C++环境下进行网络应用开发的
方法
。涵盖C++
网络编程
基础、Windows API和MFC库应用、多线程技术、线程同步机制、Internet功能使用,以及网络安全措施与协议等内容,为开发者提升
网络编程
技能提供平台。
Java
高级
编程–
网络编程
本文介绍了Java
高级
编程中的
网络编程
知识,包括IP地址的作用与结构、DNS域名解析、网络通信协议及Socket编程。重点讲解了基于TCP和UDP的Socket通信原理,并涉及多线程处理多个请求的
方法
。
Java
高级
编程——
网络编程
本文详细介绍了Java中的
网络编程
,包括网络通信的基础知识,如IP和端口号,TCP/IP协议簇,TCP和UDP的区别及工作原理。通过示例展示了基于Socket的TCP编程流程,包括客户端和服务器端的交互。同时,还探讨了UDP通信以及URL编程,包括URL类的构造和
方法
。最后,简要提到了URI、URL和URN的区别。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章