当前位置: 技术问答>linux和unix
UNIX环境网络编程的问题,迷茫~请有经验的高手指点~
来源: 互联网 发布时间:2015-06-24
本文导语: 因为一直在学UNIX环境网络编程,其它像WINDOWS的MFC实在不想花脑子去学,但和别人交流后他们说现在的主流还是WINDOWS开发。我并不是那种墙头草的家伙,但因为没实际工作过,真搞不明白像我现在一直深究的进程间通...
因为一直在学UNIX环境网络编程,其它像WINDOWS的MFC实在不想花脑子去学,但和别人交流后他们说现在的主流还是WINDOWS开发。我并不是那种墙头草的家伙,但因为没实际工作过,真搞不明白像我现在一直深究的进程间通信和SOCKET编程真正的运用于工业生产时有何重要的意义。因为必竟这些都是核心,又不像MFC可以把界面做的很花,或是像J2EE那样做E-BUSINESS的BS架构来的开发效率高。没工作过真的很迷茫,请有这方面工作经验的高手告之UNIX环境网络编程在工业生产中都是如何运用,现在还用的多不多。
主要是因为小弟快工作了,但心里没底,网上好像都看不到能找到这样的工作。。。呼~还请高手们指点!谢谢!
主要是因为小弟快工作了,但心里没底,网上好像都看不到能找到这样的工作。。。呼~还请高手们指点!谢谢!
|
分没所谓,多登陆就多有分的啦。没有就多在这里出水贴罗。基于学术探讨的原则,大家都是很热心解答问题的。
至于tcp/ip的socket编程倒也不是很复杂(可能我用的比较简单吧)
实际上unix和window的系统api有相当部分是一直的,因为都要符合ansi c标准嘛。不过window再另外提供了一套C++封装的对象而已。
那些ansi api中主要的有以下的:
socket(..);创建一个socket操作句柄(unix下是一个int型,window下是一个SOCKET句柄,可以在用unix下define SOCKET int在屏蔽这种差异,以达到源代码平台无关性)
对于服务端编程则需要了解:
bind(..)--绑定一个端口
listen(...)--侦听一个端口
accept(..)--在侦听的端口中获取一个客户端连接
对于客户端编程则需要了解:
connect(..)--连接到一个远程主机
接收数据:
recv(..)--从一个SOCKET对象中读取对方的数据
发送数据:
send(..)--完一个SOCKET对象发送数据给对方
至于其他比较重要的API有:
select(..)--检查socket是否可读、可写。还能设置检查的超时时限
setsockopt(。。)--设置socket的一些属性,如阻塞、非阻塞模式。是否可重用等。
当然还有很多概念是要理解的,在这里我也不可能讲得太详细,先给你一个学习的方向罗。好好看一下这些函数就应该可以写网络编程的程序了。
至于tcp/ip的socket编程倒也不是很复杂(可能我用的比较简单吧)
实际上unix和window的系统api有相当部分是一直的,因为都要符合ansi c标准嘛。不过window再另外提供了一套C++封装的对象而已。
那些ansi api中主要的有以下的:
socket(..);创建一个socket操作句柄(unix下是一个int型,window下是一个SOCKET句柄,可以在用unix下define SOCKET int在屏蔽这种差异,以达到源代码平台无关性)
对于服务端编程则需要了解:
bind(..)--绑定一个端口
listen(...)--侦听一个端口
accept(..)--在侦听的端口中获取一个客户端连接
对于客户端编程则需要了解:
connect(..)--连接到一个远程主机
接收数据:
recv(..)--从一个SOCKET对象中读取对方的数据
发送数据:
send(..)--完一个SOCKET对象发送数据给对方
至于其他比较重要的API有:
select(..)--检查socket是否可读、可写。还能设置检查的超时时限
setsockopt(。。)--设置socket的一些属性,如阻塞、非阻塞模式。是否可重用等。
当然还有很多概念是要理解的,在这里我也不可能讲得太详细,先给你一个学习的方向罗。好好看一下这些函数就应该可以写网络编程的程序了。
|
我也想知道unix系统编程今后工作有多大空间。
不过这里的朋友好象都没有提供有价值的信息。
想对楼主说一句:我觉得只要你的技术到位,这世界不多你一个。
我认识一个人,他有个公司,应该技术部分是雇的人,每年从电信要活(关系应该都打通了),细节我不清楚,可能是网络维护检修什么的。每年上千万呢。
我远房一个哥是电信分公司经理助理,这个公司老板是我家一个朋友,信息没假。
好运!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
to:cloudysunny
高质量网络编程比较麻烦的
好象steven(大概是这个人)有本书,可以研读一下
不过这里的朋友好象都没有提供有价值的信息。
想对楼主说一句:我觉得只要你的技术到位,这世界不多你一个。
我认识一个人,他有个公司,应该技术部分是雇的人,每年从电信要活(关系应该都打通了),细节我不清楚,可能是网络维护检修什么的。每年上千万呢。
我远房一个哥是电信分公司经理助理,这个公司老板是我家一个朋友,信息没假。
好运!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
to:cloudysunny
高质量网络编程比较麻烦的
好象steven(大概是这个人)有本书,可以研读一下
|
如果在unix或linux上开发,进程间通信和SOCKET编程是很重要的,因为unix上跑得大多数都是服务,但并不是说windows上的就没有这些,只是这些都通过各种类封装起来了。调用的时候没有像unix上那么麻烦而已。
|
理解好对你在哪个平台都可以!学重难处学,用重简单用
|
如果你把UNIX网络编程学好了,其他的花架子可以慢慢搭。
|
nod
|
先找到饭碗再说其它的吧,有吃有穿后再追求精神食粮可能好一些
|
可以吹! 吹是非常重要的一项本事(对于应聘来说).
"对老板讲技术,对教授讲学问".
我也定购了,应该到货了.可是俺linux命令都不熟,晕.
以后遇到不懂得肯定要向仁兄请教了.
qq:93318396
"对老板讲技术,对教授讲学问".
我也定购了,应该到货了.可是俺linux命令都不熟,晕.
以后遇到不懂得肯定要向仁兄请教了.
qq:93318396
|
unix编程在电信系统中的用处就明显了/。
|
steven的6本书都应该看一下;)
然后可以看看ace
然后可以看看ace
|
学习好UNIX/LINUX编程,可用在银行系统开发上