Cocos2d-x中Socket的简单使用

  次阅读 作者:智能小宝 来源:互联网 2015-09-27 15:32 我要评论(0)

今天总结一下Socket的使用方法吧,有在百度。。上面找到的(下面有百度的链接,写的不全的地方,大家可以看一下链接,)。。。如果哪位大神有更换的demo,求分享!!!

Cocos2d-x中有关网络请求的:get post put delete(后两者我在开发中很少用),还有就是 Socket(用于及时通讯,网络游戏中的队友通话)。

在vs下面新建一个一个工程(记住不是Cocos项目!!!)C++文件。作为Server

百度上面的相关解释:http://baike.baidu.com/view/2355183.htm?fr=aladdin

ServerDemo.cpp:

// WebSocketDemo.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include

#include

#include "windows.h"

#pragma comment(lib,"ws2_32.lib")

int _tmain(int argc, _TCHAR* argv[])

{

//Windows下面的网络编程

WORD wVersionRequested;

WSADATA wsaData;//用于接受Windows Socket 的结构信息

int err;

wVersionRequested = MAKEWORD(1,1);//请求1.1版本的windows

err = WSAStartup(wVersionRequested,&wsaData);

if (err !=0)

{

return -1;//返回值为 0 表示 成功申请 WSAStartup

}

if (LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1){

//检测低字节是不是 1高字节是不是 1 ,确定是不是我们请求的 1.1版本

WSACleanup();// 否则用这个函数清除信息,结束

return -1;

}

/************************************************************************/

/* 以上是windows需要添加的内容,Mac下面不用添加,直接抄写就行,每次都一样,以下才是服务器端需要写的代码*/

/************************************************************************/

// 1. 创建Socket

//类型 、流式Socket 、协议

int socket_fd = socket(AF_INET,SOCK_STREAM,PF_UNSPEC);

if (socket_fd == -1){//如果socket返回 -1就 返回,防止崩。。。。

printf("Server Socket Err");

return -1;

}

//2. bind 绑定

sockaddr_in serverAddress;

serverAddress.sin_family = AF_INET;//一般来说AF_INET(地址族)PF_INET(协议族)

serverAddress.sin_addr.S_un.S_addr = htonl(ADDR_ANY);

serverAddress.sin_port = htons(7777); //必须 加上 htons

int bind_fd = bind(socket_fd,(sockaddr*)(&serverAddress),sizeof(serverAddress));

if (bind_fd == -1){

printf("bind fiald");

return -1;

}

// 3 .Listen 监听

if (listen(socket_fd,2) == -1){

printf("listen faild");

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...