当前位置:  技术问答>linux和unix

我在写通信程序时,用read()函数来接收对方的信息,但有时把对方的两笔数据当成一笔来读,这个问题应怎样避免?

    来源: 互联网  发布时间:2015-01-23

    本文导语:  我用read()读数据,当rc=read()==0时,我就对数据进行处理!(我是这样来判断一笔数据的,这样对不对?还是有别的更好的方法? | 采用断连接试试亚。 长连接方式有时是这样的,你必须有一...

我用read()读数据,当rc=read()==0时,我就对数据进行处理!(我是这样来判断一笔数据的,这样对不对?还是有别的更好的方法?

|
采用断连接试试亚。
长连接方式有时是这样的,你必须有一定包头包尾区分,否则没有办法。

|
你先READ长度然后READ包体

|
利用带外数据传输数据,对实时性要求不很严格的应用来说,不值得
但是接收带外数据有个特点,就是可以分开带外数据的前后两个块,一次read决不可能读出两块数据,哪怕是各自的一小块

你这个问题根本没有必要搞得这么复杂。建议好好读读原理方面的东西,也不至于如此瞎子摸象。一次读出两块数据,实属正常,分开的方法多得很

|
定义报头:你自定格式
定义报体:固定长度
定义回执头:自定格式
定义回执:自定格式
按顺序发送,接受,万物意识

|
tcp是字节流,消息包的划分,只能靠应用自己解决。我见到的做法就是用消息头指定长度。

|
你需要重新做消息包的格式,也就是说,你要告诉程序每次读取信息的长度,可以这样考虑:
    首先读五个特殊字符,这是包头,包头的首字节是固定的,然后是四个自己的包体长度,根据这些,再读取包体长度的信息就可以了

    
 
 

您可能感兴趣的文章:

  • 请问如何在不知道对方IP,仅知道MAC地址的情况下和对方通信呢?
  • linux TCP通信程序 本地进程被对方强制退出
  • Linux C编程实现串口通信,监测对方设备信息!
  • 在一个TCP连接完成后进行通信,如何判断对方已经关闭了?
  • Socket通信中怎样探测对方网络已经出错?
  • linux 下使用 sendmsg 函数 udp 通信问题???
  • 如何在工作线程中调用图形界面线程的成员函数(串口通信)?
  • REDHAT LINUX 9中如何使用signal这个函数进行中断通信?
  • linux下网络通信使用接受函数recv()问题?
  • UNIX 环境高级编程 17章进程高级通信中的open服务器2 ioctl函数返回错误!!
  • linux TCP通信程序 本地进程被对方强制退出 iis7站长之家
  • 进程间的函数调用算是进程间通信的一种方式吗
  • 怎么样使用fork函数?哪位大侠能把下面两个程序用fork连接起来成为一个通信程序?
  • UNIX下有关通信的系统函数的调用,如何快速入门??跳楼大放送——————100分!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • UNIX下SOCKET怎么能象WINDOWS下用通信事件来响应接收数据呢?
  • 我要做一个网络通信的程序,会涉及到从几个连接接收数据,然后整合
  • 进程间通信:消息队列问题:进程1接收不到进程2的消息
  • 急问!!!UART串口通信,可发送数据,不能接收数据
  • 串口通信 有时得到正确的值,有时又接收不到,为什么?谢了!!!
  • php实现socket实现客户端和服务端数据通信源代码
  • 进程通信和线程通信的区别
  • SSL握手通信详解及linux下c/c++ SSL Socket代码举例
  • 想设计几个简单的通信程序,在linux环境下编译通信,怎么实现?
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • linux驱动程序是怎样通过内核和应用程序通信,还有是怎样和硬件通信,跪求求解,谢谢高手留言。
  • 请问unix与window之间能否实现socket通信或者有什么方式可以通信?
  • 两个设备使用Jtag接口通信
  • 嵌入式linux下线程通信可以用共享文件法吗?
  • 网络通信编程的困惑
  • 请问如何在两个web服务器之间实现通信?
  • 怎么实现这个类?(进程间通信)
  • 关于进程通信的问题
  • 高性能通信库 nanomsg
  • C的程序如何与tcl写的程序通信?
  • 基于ARM-Linux的语音通信系统 WiPhone
  • 开源网络通信加密协议 Tcpcrypt
  • 开源企业通信软件 Biwoo
  • Linux上SERVER 和vc上CLIENT的通信connect失败!
  • linux进程异步通信,高手请进
  • linux如何和hid类设备通信


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3