51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4175|回复: 5
打印 上一主题 下一主题

[原创] 如何发送 Byte 数组

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-11-28 20:46:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大侠们

现在遇到一个难道

如何通过 Sokets 发送 data.ws 里的 buf 发送数组数据

数组内容:
           byte  bytes[5];
            bytes[0] = 0;
            bytes[1] = 0;
            bytes[2] = 0;
            bytes[3] = 170;
            bytes[4] = 0;

本人已快发疯
知道的仁兄告知下
感激不尽
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-12-8 19:18:23 | 只看该作者
sendto 提定要发送的buffer,就是bytes,然后设置长度就好了呀。看看帮助文档资料。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-12-11 09:34:13 | 只看该作者
lrs_send("Socket0", "buf1", LrsLastArg);

这个发送的就是 Bytes 字节?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-12-11 11:39:59 | 只看该作者
可以写一个例子吗
我很想学习下
万分感谢
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-12-11 13:53:59 | 只看该作者
lrs_create_socket(socket_desc, "UDP",/*"RemoteHost=<IPandPort>",*/LrsLastArg);
   
    lrs_save_param_ex(socket_desc,"user",pMsg,0,msglength,"ascii","param_login");//将消息包存为ascii格式的参数
        lr_message("This msg size is:%d",msglength);
        lr_message("The content of param1 is %s",lr_eval_string("<param_login>"));
        //pSendMsgBuf = lr_eval_string("<param_login>");//得到消息包参数指针,这样会出错的
        sprintf(pMsgbuf,"%s",lr_eval_string("<param_login>"));//copy要发送的ascii消息包内容
        lr_message("The content of param1 is %s",pMsgbuf);
        //lr_think_time(5);
        lr_start_transaction("UserLogin_Send_Trans");
        //使用下面的方式进行发送,当用户ID太大时,比如为:200000,就会send出错,还是直接对buf0进行参数化保险些
        //如果长度有变,可以对data.ws文件的长度值进行修改,文件操作,或者可以尝试直接对文件长度值进行参数设置
        //lrs_set_send_buffer (socket_desc,pMsgbuf, msglength);//设置要在socket_desc上发送的Buff为pSendMsgBuf
   

        //lr_rendezvous("SendMsgRendezvous");

        IsSendOK = lrs_send(socket_desc, "buf0", "TargetSocket=<IPandPort>", LrsLastArg);//还是直接对buf0进行参数化保险些
        lr_end_transaction("UserLogin_Send_Trans", LR_AUTO);
        lr_message("IP is %s",lr_eval_string("<IPandPort>"));
    //lr_think_time(1);
        if (IsSendOK!=0) {
                lr_error_message("Send Data is Error %d",IsSendOK);
                lrs_close_socket(socket_desc);
               
                msglength = 0;
                pRecvMsg = NULL;
                pMsgbuf = NULL;
                pSendMsgBuf = NULL;
                pError_Recv_Data = NULL;
                return 0;
        }

[ 本帖最后由 zengyixun 于 2008-12-11 13:57 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-1-7 11:52:07 | 只看该作者
问题已解决
简化下其中一种方法



Action()
{


         char a[]={"123"};
        char *b;
        b=a;
   
       
        lrs_create_socket("Socket0", "TCP", "RemoteHost=10.80.205.55:11111",  LrsLastArg);


                lrs_set_send_buffer ("Socket0",b, 3);
                lrs_send("Socket0", "buf0", LrsLastArg);


     lrs_close_socket("Socket0");
     
    return 0;

}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-10-7 18:32 , Processed in 0.075427 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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