| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2744 人关注过本帖
标题:急~~! c++ socket发送数据的问题·~~~
只看楼主 加入收藏
ivanandpeggy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-8-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
急~~! c++ socket发送数据的问题·~~~
为了实现C++ 和java 的通讯,用的是UDP socket, 数据是XML格式的数据流(字符串)。想要传的数据就是:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<data>
   <status>off</status>
</data>


我尝试了多次都没成功。。 是不是因为sendto不能带字符串的参数,只能是char[] 类型啊·???? 但是Java的程序规定只接收字符串流,,,,有经验的前辈,望指教。。。
程序代码:
#include <iostream> 
#include <string> 
#include <winsock2.h> 
#pragma comment(lib,"ws2_32.lib") 
using namespace std; 

void main()
{

    cout<<"客户端启动"<<endl; 
    //初始化winsock 
    WSADATA wsaD; 
    WSAStartup(MAKEWORD(1,1),&wsaD); 
    //创建客户端socket 
    SOCKET sclient=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); 
    //连接服务器 
    struct sockaddr_in servaddr; 
    servaddr.sin_family=AF_INET; 
    servaddr.sin_addr.s_addr=inet_addr("127.0.0.1"); //指定服务器 
    servaddr.sin_port=htons(1600);             //指定端口 
   // cout<<"确实要建立连接? yes/no"<<endl; 
    char flag[3]; 
    gets(flag); 
    if(strcmp(flag,"yes")==0) 
    { 
      connect(sclient,(struct sockaddr*)&servaddr,sizeof(servaddr)); //通过套接字连接主机 
    }                                
    //发送数据 
    char buf[500]="<?xml version="1.0" encoding="UTF-8" standalone="no"?><data><status>off</status></data>"; 

    while(true)
    { 
     //通过套接字给主机发送字符串 
     send(sclient,buf,strlen(buf)+1,0);  //字符串还有个结束标志,   
    } 

 
}


 
搜索更多相关主题的帖子: socket 数据 
2010-08-24 05:42
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:20 
各自按照自己方式处理

★★★★★为人民服务★★★★★
2010-08-24 06:35
ivanandpeggy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-8-24
收藏
得分:0 
楼上的意思是说 java处理char[]类型的, c++ 这里处理string型的???  但是规定java只接收string型的字符串。 我上面的代码编译通过,但是java端口并没有接收到信息,所以我认为是不是类型不对~?
程序代码:
while(true)
    {
     //通过套接字给主机发送字符串
     send(sclient,buf,strlen(buf)+1,0);  //字符串还有个结束标志,  
    }

我的意思是说 这个send 能不能穿字符串的·~ ? 还是穿过去只能是char[] ?

[ 本帖最后由 ivanandpeggy 于 2010-8-24 16:50 编辑 ]
2010-08-24 16:48
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
你可以先用一种语言作测试处理,再交叉测试!

★★★★★为人民服务★★★★★
2010-08-24 17:38
快速回复:急~~! c++ socket发送数据的问题·~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023132 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved