如果铁了心干Linux编程,那还是要学好C语言,至于C++则最好别学(如果非C++不嫁,那么C语言还是尽量不要深入)。
对C++实在不了解(实际上是根本没学过,咱是散修)。Linux编程最好是先掌握一个脚本语言(shell、perl等,不需要学完,只需要知道它可以干哪些事,至于怎么实现,可以在以后慢慢学),网络协议很可能要学一下,网络设备也要了解一下(总不好在U盘上建日志文件系统吧),当然,最重要的始终是你所选择的编程语言。
网络编程的工作,当然要找有这方面发展意向的机构(只要是有网络服务的机构,都会有这方面的人才需求,但国内大部分停留在网页开发上)。
其实什么都不用管,什么都不用急着准备,给自己找点事做(实在想不出什么可做的,不妨找点开源项目来看,如果有不懂的地方,再针对性地学习,如果全看懂了,就试着去改进它,或找下一个项目),用多少学多少,不要被老师“将来或许用得着”给束缚住(等你学完所有将来或许用得着的东西,只怕黑白无常为等你,早就成了望夫石了)。
最后再补充一点:如果要学C语言,K & R 两人写的C语言书蛮出名(有中英文版本,国际知名度甚高,几乎是知道POSIX就会知道这本书)。
Linux下学网络?
你要掌握以下几个方面:
基本原理(IP协议,UDP,TCP协议)
Socket编程(建立,创建,绑定,监听)
安全代码规则
写写实例程序,比如简单的C/S程序——聊天器等
不过还是需要C的基础哦~C++在Linux的网络里面用的相对较少。
推荐你看《LinuxC编程实战》这本书
Linux下学习网络编程先了解一些网络程序的主要执行过程,慢慢由浅入深 :
系统启动服务器执行。服务器完成一些初始化操作,然后进入睡眠状态,等待客户机请求。
在网络的某台机器上,用户执行客户机程序
客户机进行与服务器进程建立一条连接
连接建立后,客户机通过网路向服务器发出请求,请求某种服务。
服务器接收到客户机的请求后,根据客户机请求的内容进行相应的处理,然后将处理结果返回。
服务器断开与客户机的连接,继续睡眠,等待其他客户机的请求。
那还是要学好C语言,至于C++则最好别学(如果非C++不嫁,那么C语言还是尽量不要深入)。Linux编程最好是先掌握一个脚本语言(shell、perl等,不需要学完,只需要知道它可以干哪些事,至于怎么实现,可以在以后慢慢学),网络协议很可能要学一下,网络设备也要了解一下,当然,最重要的始终是你所选择的编程语言。
如果是用java编的话,除了java知识只要懂一点linux操作就可以了,最近正在用java编写多人射频聊天系统,有没有什么好建议的。
如果是c的话,就要了解一点linux的底层,最好有一些库函数手册可以查。
网络方面的,了解就可以了。