CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

如何往一个socket客户端发送字节数据

楼主phenixyu(不死鸟)2003-06-04 14:47:26 在 Delphi / 网络通信/分布式开发 提问

如题:发送的数据是30   30   86   类似的两字节数据,要发送到socket的客户端。 问题点数:0、回复次数:8Top

1 楼zlyanyan(qhjcbb)回复于 2003-06-04 14:51:16 得分 0

跟发送文本类似的,Top

2 楼SunRoll(三路)回复于 2003-06-04 19:03:50 得分 0

当ASCII码发Top

3 楼microjuz(天才弟弟……》说好了和xgto看流星雨)回复于 2003-06-04 19:05:28 得分 0

泡分,呵呵Top

4 楼microjuz(天才弟弟……》说好了和xgto看流星雨)回复于 2003-06-04 19:07:03 得分 0

ClientSocket.Socket.SendText('30   30   86   ');  
  这样可否??我猜的:)Top

5 楼CSDNBowlder(给点阳光就灿烂)回复于 2003-06-04 21:09:08 得分 0

建议用udp协议发送  
  tmpstr:='30   30   86'  
  Mystream.Write(tmpstr[1],lenght(tmpstr))  
  nmudp1.send(MySream)  
   
  客户端和服务器端,都可以接收  
   
  Top

6 楼asdf008(棒棒糖)回复于 2003-06-04 21:44:19 得分 0

直接用Indy面板里面的UDP好了,很简单。比如IdUDPClient1.Send(Chr(RandomRange(0,255)));     一句完成发送,事先把IP和Port都设置好Top

7 楼deanchang(鱼)回复于 2003-06-04 22:50:13 得分 0

转成char  
  用sendBuf()Top

8 楼selfboss(黃海)回复于 2003-06-05 12:46:36 得分 0

你先把這要傳送的數據進行打包﹐對方收到以后進行分解就OK了。  
  如﹕  
      clientsocket1.socket.sendtext('<%[30][30][86]%>');  
   
  收到后:   var   ss:string;  
                        i,j,s1,s2,s3:integer;  
         
              ss   :=   socket.ReceiveText;  
              while   pos('<%',ss)   >   0   do  
              begin  
                      i   :=   pos('<%',ss)   ;  
                      j   :=   pos('%>',ss)   ;  
                      if   (j>i)   and   (i>0)   then  
                            ss   :=   copy(ss,i   +2,lenght(ss)   -j   -1)   ;  
                      i   :=   pos('[',ss)   ;  
                      j   :=   pos(']',ss)   ;  
                      if   (j>i)   and   (i>0)   then  
                      begin    
                            s1   :=   strtoint(copy(ss,i   +1,j   -i   -1);    
                            ss   :=   copy(ss,j   +1,length(ss)   -j)   ;  
   
                    end   ;      
                      if   (j>i)   and   (i>0)   then  
                      begin    
                            s2   :=   strtoint(copy(ss,i   +1,j   -i   -1);    
                            ss   :=   copy(ss,j   +1,length(ss)   -j)   ;  
                    end   ;  
                      if   (j>i)   and   (i>0)   then  
                      begin    
                            s3   :=   strtoint(copy(ss,i   +1,j   -i   -1);    
                            ss   :=   copy(ss,j   +1,length(ss)   -j)   ;  
                    end   ;  
              end   ;  
   
  最后取得的數是﹕30,   30,   68Top

相关问题

  • 如何取得从客户端传送过的的字节数?
  • 怎样取得socket缓冲区中数据的字节数?
  • 110分:JAVA中Socket如何发送和接收字节数组?
  • socket接收字节数组不成功,请大侠指点迷津
  • 不懂就问之这个socket发送的字节数为什么是零?
  • 关于SOCKET,怎样获得send函数一次所能发最大值的字节数?
  • 请问:怎样通过NMftp获得远端某个文件的大小(字节数)?
  • 字节数组问题
  • 怎么获得字节数?
  • 字节数组的合并?

关键词

  • 客户
  • socket
  • ss
  • 客户端
  • 发送
  • strtoint
  • tmpstr
  • copy
  • pos
  • begin

得分解答快速导航

  • 帖主:phenixyu

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo