Linux(或C语言)和JAVA下的socket编程有什么异同点

我是想问它们各自进行socket编程的思路(比如实现一个小小的聊天程序,用C语言编程会用到socket()、bind()、listen()等函数)... 我是想问它们各自进行socket编程的思路(比如实现一个小小的聊天程序,用C语言编程会用到socket()、bind()、listen()等函数) 展开
 我来答
memorymyann
2008-12-24 · TA获得超过636个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:277万
展开全部
不同:
1.首先2者提供的接口不同,这点很容易区分。

2.java跨平台,写好的程序不用做任何修改就可以放到linux或者windows或者苹果等诸多操作系统上运行,C当然可以,但linux本身提供了socket的系统调用,你如果使用的是linux系统调用,那么你的程序只能在linux下运行,这点不难理解。但如果是C的库函数,那还是可以跨平台的

3.利用linux系统调用的速度是要快于JAVA提供的SOCKET接口。

相同性我就不说了,你看完我下面的话,你就能理解他们直接的关系了。

从你提出的问题,我觉的你可能对编程不是很了解。

socket是用来实现进程通信(主要是网络通信)的目的,但这不是语言能够解决的问题,确切的说语言连什么是进程他都不知道。这么说来SOCKET不是JAVA带的功能,那么JAVA是如何来实现这一功能的呢?JAVA是通过调用系统提供的SOCKET来完成的。

在LINUX里面,JAVA中的SCOKET最终就是通过调用系统提供的系统调用来完成,而系统调用的SOCKET则是操作系统和硬件共同完成的。所以他们共同点是,如果你的JAVA程序是在LINUX中运行的,那他们通信的具体过程会完全一样,只不过JAVA会在系统调用前面加上一些它认为必需加的东西或者是它认为能够方便编程人员使用的东西。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式