喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [问题] 关于PHP Socket的问题  
 
dnsing
注册会员
Rank: 2


UID 70695
精华 0
积分 56
帖子 52
金钱 56 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-30
状态 离线
[广告]: q m
关于PHP Socket的问题

我想问问PHP能否发类似C#的Byte字节流数据包到Socket服务器端,情况如下:

首先,若Socket服务器端支持以文本模式接收数据包的,那我用PHP的 socket_write 把数据包发过去是可以成功的,但如果服务器端以Byte字节流方式接受的就好像不行了,就以C#而己,C#可以发一个Byte[]的数字包过去就可以,我以为是可以用数组方式发过去,所以我试了用PHP 的 Array 方式发过去,结果还是不行。。请问大家有什么高见?谢谢..

[ 本帖最后由 dnsing 于 2007-1-25 10:01 AM 编辑 ]
2007-1-25 09:59 AM#1
查看资料  访问主页  发短消息  顶部
 
phpdesigner (phpdesigner)
注册会员
Rank: 2
初级会员



UID 67397
精华 0
积分 54
帖子 48
金钱 54 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-12-22
状态 离线
[推荐阅读] 急...在线等...判断字段问题
php是弱类型语言,没有严格的数据类型
你用byte当然不行了,用数组更是不行
只支持文本字符串的格式发送
2007-1-25 10:08 AM#2
查看资料  发短消息  QQ  顶部
 
dnsing
注册会员
Rank: 2


UID 70695
精华 0
积分 56
帖子 52
金钱 56 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-30
状态 离线
[推荐阅读] 谁知道Gallery2怎样换皮肤啊
补充一下
用C#发是可以把整个Byte数组发过去,例子如下:

Byte[] SendData = new Byte[3];
SendData = {1,2,3};
发过去的时候直接这样 clicentSocket.Send(SendData);

当我想用PHP实现的时候就不行了,因为 PHP的 socket_write()是这样的

  $socket  = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
  $result  =  socket_connect($socket,$address,$port);
  socket_write($socket,$msg,count($msg));
  $result  = socket_read($socket,100);
   socket_close($socket);

如果用Array发过去的话也不行,上述是用文本模式发过去的。。。
2007-1-25 10:09 AM#3
查看资料  访问主页  发短消息  顶部
 
dnsing
注册会员
Rank: 2


UID 70695
精华 0
积分 56
帖子 52
金钱 56 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-3-30
状态 离线
[推荐阅读] 怎样实现用一个动态页面引导下载地址,实现隐藏真实地址(ftp地址)


QUOTE:
原帖由 phpdesigner 于 2007-1-25 09:59 AM 发表
php是弱类型语言,没有严格的数据类型
你用byte当然不行了,用数组更是不行
只支持文本字符串的格式发送
原来是这样的啊,我一直在查资料就是没找到可以发Byte字节流的方法,Java可以,很多种语言都是可以,难道PHP就这样无能为力吗?还是本人学识肤浅。。。

[ 本帖最后由 dnsing 于 2007-1-25 10:14 AM 编辑 ]
2007-1-25 10:12 AM#4
查看资料  访问主页  发短消息  顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 104942
帖子 5286
金钱 103838 喜悦币
威望 0
人脉 1104
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读] xmlhttprequest的简单问题?
PHP的socket 据说是弱一些
似乎没有人用它做通讯软件,呵呵

但它的socket的基本功能还是可以实现的,你就用它读写字符串吧,其它类型不要想了
如果非要传数组,可以序列化之后再传,接收后反序列化




7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2007-1-25 11:51 AM#5
查看资料  访问主页  Blog  发短消息  顶部
 
fly512 (我本如是)
版主
Rank: 7Rank: 7Rank: 7
人生的另一半


UID 42566
精华 0
积分 2509
帖子 2395
金钱 1779 喜悦币
威望 0
人脉 730
阅读权限 100
注册 2004-10-31
来自 亚特兰迪斯
状态 离线
[推荐阅读] 急啊!``新闻内容分页
序列化一下发过去



不要使用数据库
PHP中国
2007-1-25 12:38 PM#6
查看资料  访问主页  Blog  发短消息  顶部
 
era
高级会员
Rank: 4


UID 84851
精华 0
积分 567
帖子 749
金钱 567 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-12-15
状态 离线
[推荐阅读] 临睡前发个灌水贴~~


QUOTE:
原帖由 dnsing 于 2007-1-25 10:09 发表
补充一下
用C#发是可以把整个Byte数组发过去,例子如下:

Byte;
SendData = {1,2,3};
发过去的时候直接这样 clicentSocket.Send(SendData);

当我想用PHP实现的时候就不行了,因为 PHP的 socket_writ ...
对于流来说,只有数据,没有结构,
C# 既然能发带结构的数据,那证明它的套接字至少比PHP的要多经过一层封装
2007-1-25 04:27 PM#7
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023924 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP