LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1375|回复: 6

可以通过socket读写结构体吗?

[复制链接]
发表于 2006-7-24 09:38:26 | 显示全部楼层 |阅读模式
一些字符串要写到socket,其他进程读出来,
我想做成一个结构体,写进去,读的时候再读到这个结构体中,可以吗?:thank

比如struct data{char name[10],char str[10]}
发表于 2006-7-24 11:07:28 | 显示全部楼层
应当是可以的,发送和接受的都是字节流,只要按序处理就可以的。
回复 支持 反对

使用道具 举报

发表于 2006-7-24 17:12:51 | 显示全部楼层
一定是可以的,你发什么东西对于网络来说根本没有意义,它也管不着这些数据倒底是什么!
回复 支持 反对

使用道具 举报

发表于 2006-7-24 17:15:29 | 显示全部楼层
这种东西写个 小例子就可以搞定了
不用问吧。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-23 10:45:09 | 显示全部楼层
嗯  的确是可以的,
我用的是PF_UNIX的socket,别人告诉我它其实就是管道
如果这样的话我是不是该改成命名管道呢?
socket发的时候要构造结构又要connect,读的时候也是要构造一个socket结构还要accept

我现在觉得管道的好处还有读的时候可以读出来很多个数据
(socket我用的是stream方式,每次只写入一个,所以我读的时候也是先accept然后读一个,关闭)
但是好多的程序都是用的socket,比如mysql有这样的模式,还有一些X的程序什么的,究竟哪个好呢?

还有pipe会被写满,socket会吗?
回复 支持 反对

使用道具 举报

发表于 2006-8-28 00:30:37 | 显示全部楼层
你同一台机器上的是没有问题的。
回复 支持 反对

使用道具 举报

发表于 2006-8-29 20:17:25 | 显示全部楼层
需要注意有关endian和对齐的问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表