关于SOCKET的问题 请问,这样的操作可行吗?

page10 2005-03-21 09:19:43
关于SOCKET的问题
进程A中,执行了下面代码:
SOCKET Receive;
Receive=accept(SocketSvr,(SOCKADDR*)&client,&ClientLen);

然后,我把Receive发给进程B,
在进程B中,我调用下面代码:
send(Receive,buffer,sizeof(buffer)+1,0);

请问,这样的操作可行吗?
...全文
183 点赞 收藏 14
写回复
14 条回复
WingForce 2005年03月25日
win32下让子进程继承父进程的句柄
回复 点赞
page10 2005年03月25日
nicknide(封月翔天) ( )

你好
如何写怎么样复杂的代码
才可以共享?
回复 点赞
page10 2005年03月25日
win32下
我先运行一个程序,他是进程A
我怎么样编程,可以弄出进程A的一个子进程?
回复 点赞
nicknide 2005年03月24日
简而言之,像楼主那么简单的代码,是无法共享的
回复 点赞
diaogong 2005年03月22日
如果你是通过unix的fork()来共享文件描述符是可以的。
回复 点赞
galanz 2005年03月22日
如果是在同一台电脑上好象是可以的吧!换地址是不行的,因为要解析网卡的硬件地址
回复 点赞
piaozi2003 2005年03月22日
两个进程共享socket描述符当然可以,UNIX Domain Socket可以让两个毫无关系的进程互相传递描述符!
回复 点赞
GeorgeHunter 2005年03月21日
你的意思是一个线程接受用户连接,另一个线程处理连接到服务器程序的用户是吧?
这样是可以的。
回复 点赞
YFY 2005年03月21日

我猜是不行的,该端口应该被进程A占有了,进程B应该无法访问。

你可以试试看呀。
回复 点赞
nicknide 2005年03月21日
简单的说,楼主方法不可以....
只有UNIX fork()操作才能够共享文件描述符,exec系列也可以,但是一般不用。

但是UNIX系统中,是没有SOCKET这种结构的,是int而已,因此啊,这样子是win系统,
似乎,也许,好象,可能,是不行地
恩,不可以
回复 点赞
aaasng 2005年03月21日
楼主要的功能具体实现要看系统.
简单的把一个进程的文件描述符发到另一个进程是没有用的.
回复 点赞
OnMyWayHome 2005年03月21日
是吗?
据我了解每一个socketid都回对应一个文件描述符,所以B进程怎么可能访问A进程的socket呢?
回复 点赞
piaozi2003 2005年03月21日
当然可以,但是和IP、端口捆绑起来了!
回复 点赞
page10 2005年03月21日
我说的是进程间的事情
不知道理论上是否可行
回复 点赞
发动态
发帖子
C语言
创建于2007-09-28

3.2w+

社区成员

24.0w+

社区内容

C语言相关问题讨论
社区公告
暂无公告