免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2588 | 回复: 7
打印 上一主题 下一主题

关于socket 高手请进 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-07 09:27 |只看该作者 |倒序浏览
socket用于本地进程间通信时,需要使用一个文件名来给socket命名或者是确定socket的地址。
问题是1、这个文件是什么文件,就是一个普通文件吗,还是必须像FIFO一样必须是专门建立的一个文件。
      2、客户端和服务器端(实际上就是使用socket进行通信的本地的两个进程)使用的文件名是一样的还是可以不一样,或者说是必须不一样。
         我的理解是必须不一样,否则两端的socket的地址就一样的了,有多个客户端连接服务器的话,如何区分呢,但是网上的示例代码好像是一样的。
         所以不解。
希望高手指点,也欢迎大家讨论。谢谢。

论坛徽章:
0
2 [报告]
发表于 2011-11-07 10:20 |只看该作者
一个文件名来给socket命名?
没看懂

论坛徽章:
0
3 [报告]
发表于 2011-11-07 12:16 |只看该作者
使用文件的时候,实际上是UNIX域socket。

那个文件你可以理解为管道文件。
至于客户端和服务器端使用的文件名是否一样,你把这个文件理解为地址,你就清楚需不需要一样了

论坛徽章:
0
4 [报告]
发表于 2011-11-07 13:10 |只看该作者
1.这个文件可以说是一个空文件,但是用【ls -l】命令查看的时候,【srwxrwxrwx】中的第一位是“s”,也就是socket的缩写。
2.当多个客户端连接的时候,应该是不同的文件,也就是说每个客户端一个文件(Server端和Client端提前规定好的文件)。

论坛徽章:
0
5 [报告]
发表于 2011-11-07 16:25 |只看该作者
看到此贴 我又开心了一下

论坛徽章:
2
技术图书徽章
日期:2015-12-16 09:12:1619周年集字徽章-庆
日期:2019-09-12 16:09:19
6 [报告]
发表于 2011-11-08 14:44 |只看该作者
看到此贴 我又开心了一下
zcheung 发表于 2011-11-07 16:25



    me too

论坛徽章:
0
7 [报告]
发表于 2011-11-09 22:11 |只看该作者
我的理解:
1 socket用于本机进程间通信时, 用的是UNIX域socket, 必须建立一个管道, 也就是你说的file name, server端bind, 并listen绑定给定文件的socket

2 client connects  to server by the filename you said

3, 多个clients也必须用相同的文件名连接server

论坛徽章:
0
8 [报告]
发表于 2011-11-13 09:46 |只看该作者
1.是网络文件,是服务端建立的一个文件,供客户端链接使用
2.是一样的,就好比tcp与udp的服务地址和端口是固定的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP