关于如何学习网络编程

我是一名“网络工程师”具备CCNA,CCNP资质,我在工作的过程中发现对网络通信的工作原理及其感兴趣,特别是一个已经成型的网络设备,在加上一个官方自己开发的第三方认证软件特别刚兴趣,这个第三方软件可以根据自己的思路去控制这个网络设备达到自己想要的结果,这样可以大大的提高工作效率而且也不会因开发商把这个设备做成型导致无法将自己的一些想法注入到这个设备和整个方案中;因此我不想只做一个“应用层”级别的工程师,我想通过学习编程能够将我自己想法做一个第三方软件来控制网络设备,比如一个网络设备提供了一个API接口(我不懂啥是API,但是经过官方的介绍,了解到这个接口是这个网络设备程序的控制接口),我可以利用这个API接口做一个第三方认证服务器,如结合短信平台验证。或者一个很简单的例子:如官方开发了一个程序,有自己的一套设置流程和方法,但是我觉得官方这个设置方法有点繁琐,这时我想通 过官方提供的API接口自己开发一个小工具,把某一套设置流程做成一个“按钮”的形式来完成,这个节目可以是网页或者客户端的形式都行。在比如:有些设备程序不提供API接口,但是可以用“Telnet”终端程序来敲命令对设备的控制(如我们在windows下可以用命令行的形式来建立用户名和密码)我想通过Windows平台使用命令行方式对设备进行控制时,把设备输出的信息保存到一个文件里,然后对这个文件内容进行判定,根据自己输入的判定结果,自动输入我们准备好的命令对设备进行相应的操作,最后在返回成功与否的结果!我有很多这类的想法,因为我不懂编程 ,无法把我想学的内容表达清楚,所以麻烦各位根据我简单的描述,我应该如何入门网络编程这门技术。先说明一下,本人24岁,从业网络行业3年多点,主要天天就是接触一些网络设备进行配置、网络分析和方案的设计。目标还是以我现在的职业为主、编程为铺!因为我感觉编程这个东西一旦学到一定程度,对我的职业生涯有很大的帮助,最起码别人开发了一个网络程序(网络设备核心程序)我不一定要跟着这个死程序走,我要注入自己的想法!今天晚上我也不知道怎么了,突然狠心想学编程,而且脑海里有个职业定向目标;目标一:在过2-3年也许我还是一名网络工程师,天天配置一些网络设备,做一些简单的网络方案和工程实施。目标二:也许经过我的努力,3年之后我将是一名网络技术开发人员(也就是在同行中进入更深的阶段),并且今后自己或者跟团队一起开发网络技术产品!描述就到这里了,麻烦各位大神给我一个人生转折点的建议,如何入门编程,而且是针对我描述的内容方向!参考案例:http://v.youku.com/v_show/id_XNTY2MjU4NzY0.html

你这个问题有几个要点要问清楚才能回答你。
1、别人的这个网络设备是否允许你调用它的底层进行编程,如果不允许,啥都别说了,去那家提供设备的公司任职吧。 如果允许,他能给你提供多么详细的资料,如果不给你详细的资料,你即使学会了编程,也别想针对他的设备写程序。举个列子,他的API函数link是连接通道,里面有5个参数,现在人家只给你说link是连接通道,但是5个参数的详细用法不告诉你,你死也用不了这个函数。
2、你在别人的底层上进行二次开发,最好先确定受众目标,因为一般来说,客户都比较喜欢使用设备原厂家提供的管理程序,对三方的不一定接受。
3、如果你确定要做程序开发,我估计你现在的工作很难继续了,因为这个很耗精力,很难兼顾其他工作的。

最后,如果你确定要学,就学C++上手吧,一般设备提供的SDK都是用C++写的,调用也是用这个语言,先学这个吧。以后做界面再学其他语言,但是C一定是基础。追问

第一:编程这一块目前只是辅助性使用,目前最终的目的是:如果设备厂商提供了API接口,我要能看懂这个API参数,并且能根据厂商提供的参数自己做一个第三方软件出来对设备进行有效的控制
既然不能回答太多的内容 - -!

追答

看来你是比较清楚面临的情况了。
开始学习的话,还是建议C++上手,玩设备API怎么都跑不了C++,先学语法,做一些简单的小程序,比如俄罗斯方块一类的,目的是熟悉语言。
然后如果是通信类的,重点学习socket编程(语言C++就足够了),网络通信方面的,这个会相对慢一些,前提是语法部分一定要把基础打好,否则到了这块可能会什么都看不懂。
最后,做应用程序必须有界面,如果是用C++做也可以,毕竟你的界面不会很复杂,学MFC就够了。如果想要做出很华丽的界面,那还得学.net C#语言,然后调用C++开发出来的组件。
其他的,比如记录用户日志、返回操作信息、自动填充设置参数等等,都在学习C++语言的过程中会涉及到,没什么复杂的。
总之,你说的那些功能,都是可以做到的,只要你认真学了。预祝成功!

追问

好!可以留个Q么,这里不能追问太多的内容,百度越来越坏了!我的Q:270556030

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-16
建议报一个培训班,都是零基础入学的,这是网络编程的全部课程,要是感兴趣的话可以了解一下:
第一阶段
1、计算机操作基础
2、Office办公自动化
3、计算机组装与维护
4、C语言

第二阶段
1、SQL Server2005数据库设计
2、和高级查询
3、数据结构
4、C#面向对象程序设计
5、HTML5与CSS3开发
6、JavaScript
7、jQuery高级编程
8、PHP开发

第三阶段
APP Development
1、JavaScript特效制作
2、jQuery应用开发
3、HTML5与CSS3开发
4、Java面向对象程序设计

第四阶段
JAVAWEB Development
1、产品流程应用
2、移动平台界面设计
3、Oracle数据库开发
4、JavaWeb应用开发
Mobile APP Development
1、实训一:WEB前端设计与开发
2、实训二:J2EE项目开发
第2个回答  2013-12-23
写了那么多,没看懂。
既然你是网络工程师,跟编程有点关联,自己网上找视频学习吧,网上有整套的免费学习视频教程很多的,或者去学校学习。
第3个回答  2013-12-23
你这是来 做广告的吧?追问

- -! 不是做广告,只是那个人做的产品跟我的需求很类似,所以把那个视频链接填上去了,因为我不懂编程,而且表达不清楚,所以你们可以通过这个视频的核心内容进行判定用到了那些编程

相似回答