中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > C/C++
SOCKET:只打开一个SOCKER,把他当作无名PIPE可以么?
作者:未知 时间:2005-09-13 19:19 出处:ChinaUnix.net 责编:chinaitpower
              摘要:SOCKET:只打开一个SOCKER,把他当作无名PIPE可以么?

MAIN()
{
     SOCKET=SOCTER(...);
     if(I=fork()<0)erro;
     if(i>0){
               ......
               READ(SOCKET)
               ......
               }
                ...................
                WRITE(SOCKET);
                ......................
}
这么做可以么?注意READ和WRITE表示伪代码.具体的意思读者自明,表示从一个SOCKET中读和写数据.

 menp9999 回复于:2003-03-20 12:41:42
我倒,怎么回事情呀?我发的时候是对齐的,怎么出来就不对齐了呢?

 无双 回复于:2003-03-20 13:13:40
发言时上面有code 按钮
你点一下就可以了

另外这样使用也是可以的
但是无名pipe 的性能比socket要高

还有就是无名pipe 只可以在一个进程内使用
而socket则可以在多进程间互访

另外使用socket时可能有端口已被使用的可能性
而无名pipe没有


当然使用socket的好处就是
如果是TCP的话
可以发送无限大数据而不混乱

而无名pipe 只保证在一定数目下的定是原子操作
一般是4096字节
如果想更大要使用其它的进程同步机制

 menp9999 回复于:2003-03-20 14:56:04
[quote:59c3f3172e="无双"]发言时上面有code 按钮
你点一下就可以了

另外这样使用也是可以的
但是无名pipe 的性能比socket要高

还有就是无名pipe 只可以在一个进程内使用
而socket则可以在多进程间互访

另外使用socket时可能有端?.........[/quote:59c3f3172e]
不对吧,无名PIPE不可以用在父子进程么?象我那么用无名SOCKET是不能用在其他进程的,也只能在父子进程中使用.

 无双 回复于:2003-03-20 18:27:35
可以
写错了
没有考虑父子进程间情况

如果不是父子进程的话是不可以的

 蓝色键盘 回复于:2003-03-21 10:51:28
呵呵,你们两个讨论的如此激烈!我来说几句吧!
1、在unix环境下,利用pipe或类似pipe的机制来实现ipc的有如下几种:
半双工pipe、fifos、全双工流管道和命令流管道。
2、其中楼主的意思是想通过socket机制实现半双工pipe,就你上面的代码是不能实现的。事实上,在大多数unix系统中半双工pipe和fifos是基于文件系统的实现的,全双工流管道和命令流管道基于unix域流套节字实现的。(我说的是大多数,比如有些unix系统用文件系统机制实现双工流)。
3、半双工pipe只能在具有共同的祖先的进程之间传递数据,例如父子进程间。
4、将你的上面的代码更改为域socket,可以实现类似于半双工pipe得功能,也可以实现全双工。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有