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

一种网络协议的实现

    来源: 互联网  发布时间:2016-05-21

    本文导语:  我最近看了一个网络协议,客户端可以主动向服务端请求信息,服务端也可以将一些事件(如日志)主动反馈给客户端, 服务端多个线程都可能随时产生日志,我应该怎么来实现这个模型呢? 客户端向服务器请求信...

我最近看了一个网络协议,客户端可以主动向服务端请求信息,服务端也可以将一些事件(如日志)主动反馈给客户端,
服务端多个线程都可能随时产生日志,我应该怎么来实现这个模型呢?
客户端向服务器请求信息用1个socket 1个线程就能完成,那么其他线程产生的日志我应该通过什么方式送到客户端呢?
谢谢大家了!!!

|
未完就发了,sorry!
(1)将一些事件(如日志)产生的信息放在一块内块中,简单点,就一个struct数组吧,每个struct 里放一个标志,false, or  true, 
当有将一些事件(如日志)发生时,你把将一些事件(如日志)相关数据写到struct数组里的一个struct里去,假如标志位是false,写完了之后呢,把其把成true,服务器就从struct数组里的数据发出去! 
   服务器发送完数据之后要把标志位取反!


|


就直接像那套接字写啊! 不过注意2条

1. 不同线程 要同步  可以用 pthread_mutex_t 或者 ACE_Thread_Mutex 取决于你的线程库
2. 保证你的线程锁的粒度 正好是 1条完整的日志记录。

|
这跟协议毫无关系...

|
如果把这个称之为协议,那应该是你自己的私有协议。说白了,是你的程序的设计问题。呵呵。

    
 
 

您可能感兴趣的文章:

  • 基于python实现的网络爬虫功能:自动抓取网页介绍
  • 救救我,我在RedHat8.0下激活了拨号网络,在重启后一直在搜寻网络,启动不能继续(不但没有实现上网,并且...)
  • Docker扁平化网络设计与实现
  • java的网络功能类socket是作用于哪一层的,偶要写一个更底层的网络通讯程序,用到了APDU协议,用java能实现吗?偶其他的语言不熟!!!!
  • linux下的网络扫描器用什么层次的技术实现?
  • 在xp下装ubuntu系统实现双系统网络连接问题
  • 急,请问linux可以实现跟win2K的网络共享吗?
  • Linux网络编程(怎样实现两个客户端之间的通信)
  • 怎么在LINUX 9.0下实现网络文件共享
  • 《linux网络系统架构设计与实现》谁有中文版的给我一份
  • 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
  • 有没有研究linux1.0左右版本的书?我主要想看看网络部分的实现,版本越早越好
  • linux网络编程(UDP多播)如何实现Observer设计模式?
  • android实现关闭或开启移动网络数据
  • 在linux下如何实现无线网络迅速切换
  • dd能否实现网络间的整盘拷贝?
  • 如何让vm下的两个linux实现网络连接(主机不联网)
  • 请问有哪位高手知道如何编程实现网络唤醒开机
  • 谁能告诉我用java如何实现一个基于网络的课件开发工具?
  • 如何在Linux下用C++实现读取整个目录的网络传输
  • 实现不同的网络互连,除了NAT 和路由。还有什么方法呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker、Kubernetes、Neutron中的网络简介
  • 怎么用dos命令配置登陆网络,随便什么网络,举例就行~
  • 分布式CAP理论介绍:一致性(Consistency),可用性(Availability),容忍网络分区(Partition tolerance)
  • 系统网络问题之网络配置
  • 应对 Docker 网络功能难题的挑战与思考
  • 网络爬虫/网络蜘蛛 larbin
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 如何将运行dos的机子联入网络,或在dos下使用网络硬盘
  • centos6网络配置及网卡设置相关命令及配置文件
  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • IOS开发之socket网络编程(基于SimpleNetworkStreams的c/s程序)
  • 用java做网络编程和用c做网络编程有啥区别
  • Docker 四种网络模式及网络配置详细介绍
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?
  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 如何打开SUN工作站进入网络管理系统和退出网络管理系统,并关机。
  • Ubuntu ADSL上网,网络信息查看及防火墙相关配置命令介绍
  • 请问unix网络编程和linux网络有什么区别
  • Nmap-6.46发布(Nmap介绍及下载地址)-网络安全扫描工具
  • 大家有没有什么能看当前网络流量的工具,能象top一样列出当前的网络状况
  • 高速的网络抓包库PF_ring介绍及编译安装
  • 嵌入式网络编程与非嵌入式网络编程有什么不同


  • 站内导航:


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

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

    浙ICP备11055608号-3