AKever

导航

Socket 客户端编程

Socket 客户端编程

=============================

socket客户端编程主要注意3点

1. 连接服务器
2. 接收服务器信息
3. 对传递数据的获取

==============================

1.连接服务器比较基础

int NetManager::LinkToSer()
{
    WSAData wsaData;
    WSAStartup(MAKEWORD(2,2), &wsaData);    //少这个会出现乱码

    socketClient;//客户端Socket
    SOCKADDR_IN addrServer;//服务端地址

    socketClient = socket(AF_INET, SOCK_STREAM, 0);
    //定义要连接的服务端地址
    addrServer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");//目标IP(127.0.0.1是回送地址)
    addrServer.sin_family = AF_INET;
    addrServer.sin_port = htons(6000);//连接端口6000
    //连接到服务端
    connect( socketClient, (SOCKADDR*)&addrServer,sizeof(SOCKADDR));

    //发送接收数据
    char* msg = "HelloSocket!";
    send(socketClient, msg, 13, 0);  //strlen error

return 0; }

2.接收服务器信息需要添加一个循环,将recv放置在循环中

cocos2dx可以将 recv放置在每一帧的循环中
也可以创建一个线程

3.数据流一般以byte(字节)读取,分为以下类型

char, 
byte(uchar), 
short, 
word(ushort),
int, 
uInt, 
string

a>除了以类型读取,有必要需要添加冗余校验:CRC

循环冗余校验码(Cyclic Redundancy Check)

b>添加文件头,数据,如:真个数据流的大小(byte)等信息,方便信息的读取

 

posted on 2015-07-20 11:18  AKever  阅读(198)  评论(0)    收藏  举报