协议编程
1. 怎样算得上熟悉 TCP/IP 协议编程
抓包
先从熟悉的下手,HTTP,FTP。
封装包
自己封装包,和现有协议通信。TCP/IP协议作为一个底层协议,不仅可以编写聊天程序,很多高层协议都是基于TCP/IP编写的。
自己造轮子,这样也有助于理解其它协议,比如连接、查询MySQL(用Socekt函数而不是库函数),自己封装一个memched函数库…
以前我大学时用perl发送“飞鸽传书”包,经常上课的时候同学们集体收到弹出信息,却不知道发送者是谁,很有成就感。如果你做已经事没有成就感,就很快会失去动力。
他山之石
经常去github。
源码
读读TCP/IP协议的实现代码,去翻翻 Linux 1.0 源码。
能进行网络编程
1.如果你说你会select,epoll,iocp模型,那会让对方觉得更靠谱
2.如果你说出你做过im,下载之类那会让对方来兴趣.
3.如果你说设计了通讯协议,会让对方觉得更贴切
4.如果你说做过,熟悉, ftp http snmp smtp 这些简单的老古董协议,会加分,但不大.
5.如果你说熟悉bt,emule,udt等协议,那会对你很有好感.
6.如果你说你破解过某大牌 qq,360内某通讯协议,那会对你加分很大.
目测楼主在0.5的位置,嘿嘿
我对熟悉的定义是:闭着眼能想起原理和实现,能和其他人侃侃而谈,能在搜索的帮助下,不慢的整出来.
精通的定义是:观点一针见血,实现一挥而就.
1)熟悉TCP/IP协议族的基本原理
IP地址的分类,定义,获得,大概的管理方法
TCP、UDP等主要协议的特点,主要格式,以及重要字段在协议交互中起到的作用。
2)对于简单的TCP/IP协议导致的问题,有基本的判断
熟悉网络问题的解决方法,一个问题,应该是由上而下(top-button),还是由下而上(button-top)来分析?
3)基本的编程知识。
在系统内,构建简单通信。
在系统间,构建简单的通信。
熟悉系统内的API,知道在什么时候,改使用哪些API协调工作。
能够熟练使用这些API,在系统间传递信息,文件。
能够熟练使用这些API,实现自己的简单的私有协议。
4)进阶编程知识
知道一两个已经封装好的框架(framwork),它们之间的差别。
使用一个框架,写过能正常工作的程序。
知道网络协议处理也是要讲究性能的,知道性能的瓶颈会在什么地方产生。
能有较好的设计技巧,将私有协议设计得更加具有弹性,优雅。
熟悉系统间协议处理的细微的差异,以及将会对业务造成的影响,时延、状态不一致、自定义字段、、、、、
5)熟练阶段的知识
针对业务的需求,快速选型,定框架。
不再认为多线程是万能的。
知道稳定性比性能更加重要。
数据包去了哪儿,不用看代码,也能预估出来。
6)源代码是最好的老师,永远都是。
2. 通信协议是不是用C语言编程出来的
这要看你的设备抄对哪种语言提供支袭持了,任何编程语言只是对特定操作系统的调用而已了。
真的处理数据的还是设备本身,可以是设备硬件电路完成功能,也可以是设备之上的系统软件,比如思科或者华为的设备,他们都有自己的系统软件,这些操作系统就没有对外提供编程的接口,因此只要设备硬件的开发商才可以在设备上开发协议
3. modbus通讯协议编程在什么开发环境,本人新新手,请指点
协议的实现和编程环境没有关系,用任何一种语言都可以,是要实现协议的逻辑即可。
如果是在嵌入式里面使用的话,建议用C语言。
4. 什么是网络协议分析与编程是干什么的
其实一般就是用截包工具截包,对包进行分析,分析出对方协议特征码,这样做一般是防火墙或者流量管理需要的,回去分析特定软件的私有协议,通过特征码识别。
协议编程一般就是根据自己的需求实现自己的私有协议。
满意请采纳
5. 通讯协议和编程语言是个什么关系比如modbus通讯协议和C#语言如何联系起来求高手解答!!!
没有关系,C#是一种软件开发语言,而modbus协议是SIO7层体系中的应用层的,用软件实现,所以可以用C#来编写,要硬说关系,那就是Modbus协议可以用C#来编写。
6. c语言编程协议
协议一般是具体到某类产品时才提到的,一般网络编程有协议,我以前做医学方面的,就有个DICOM协议
7. 以太网,TCP,IP,modbus四层协议如何编程,能否举个例子
如果你对Modbus稍有了解,对VB编程有一定基础,以下的解答会有帮助。
Modbus是应用层协议,专它定义了一个与基础通信层属无关的简单协议数据单元(PDU):功能码+数据单元。Modbus要用于特定的总线或网络上,必须在PDU上引入一些附加域组成应用数据单元(ADU),例如用于以太网时,其传输模式是Modbus TCP,这时ADU=MBAP报文头+PDU。编程组成符合ADU格式的帧,就是常说的“数据打包”,一般在用户定义的发送缓冲区(使用字节数组)中完成。对于接收到的数据帧,需要按ADU格式去理解并编程处理,这就是常说的“数据解包”。
在VB中编程实现Modbus TCP通信,使用以太网通信控件,端口号是502。至于TCP/IP协议如何实现,不需要费心。编程重点还是ADU数据帧的打包、解包及事务处理。
具体实例不是能简短说明的。推荐一个资料《MODBUS协议中文版》,网上搜索下载。
8. 当使用tcp协议编程时,哪些问题是程序员考虑和处理的
发送数据的格式和应用协议。
一旦双方建立了TCP连接,连接中的任何一方都版能向对方发送数据并权接收对方发来的数据。
发送数据时,程序员可以编写程序不断地将数据流写入TCP的发送缓冲区中,然后TCP自动从发送缓冲区中取出一定量的数据流写入TCP的发送缓冲区中,然后TCP自动从发送缓冲区中取出一定量的数据,将其组成TCP报文段逐个发送给IP层,再通过IP层发送出去。
接收端从IP层收到TCP报文段后,将其暂时保存在接收缓冲区中,这时程序员就可以编写程序依次读取接收缓冲区中的数据,从而达到通信的目的。
(8)协议编程扩展阅读
利用TcpClient和TcpListener在同步方式下接收、发送数据及监听客户端连接时,在操作没有完成之前一直处于阻塞状态,这在接收、发送数据量不大或者操作用时较短的情况下是比较方便的。
但是,对于那些完成时间可能较长(如传送大文件)的任务时,使用同步操作可能就会造成系统假死,这种情况下,最好的办法是使用异步操作。
9. 通信协议编程是什么 谢谢!
通信协议就类似于语言里面的语法,
10. 学习协议,网络编程,以后的具体发展方向是什么
网络编程的前景很不错的,随着移动互联网的普及与发展,手机应用不断深入我们回生活的方方面面,移动系统答和软件应用的开发领域,成为了未来很具有潜力的行业之一。
在未来5年内,合格软件人才的需求将远大于供给。其中,尤以JAVA、PHP、HTML5与CSS3开发、Asp.net开发人才最为缺乏。