24数转盘端口服务器端口

【玩转cocos2d-x之三十一】服务器的网络通信编程 - 推酷
【玩转cocos2d-x之三十一】服务器的网络通信编程
这里采用Apache+php搭建了一个简易服务器,服务端用php语言,客户端采用cocos2d-x的CCHttpClient类通过http方式访问服务端资源。模拟了cocos2d-x提交账户和密码到服务端,服务端校验帐号密码,如果正确返回客户端成功登录,如果错误则返回错误信息,同时在服务端后台保存登录log。第一次接触php,语法上和C/C++还是蛮像的,主要是给出一个cocos2d-x网络实例,代码中并没有做一些防呆纠错措施。
1.搭建Apache+php网页服务器
Apche2.2 x86版:
php5.2.17版:
搭建过程参见
,这里就不安装MySQL了。
搭建成功后,打开
,就可以看到”
It’ works!
“字样。同时打开Apache monitor监控Apache处于运行状态。我这里使用的80端口。
2.php收集表单的方式
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE,对应着查改增删,这里介绍GET和POST。
用$_GET获取表单数据,表单数据对任何人都是可见的,比如
.cn/welcome.php?username=jackystudio&password=123
用$_POST获取表单数据,表单数据则是不可见的,比如
.cn/welcome.php
3.服务器php处理代码
这里我直接修改了主页index.html。会C++应该都能看懂,先是打开一个log.txt,接收到username和password,如果是username是jackystudio,password是123的话,把username和password写入log.txt,并返回登录成功,如果username或password错误时返回登录失败。如果未接收到则返回没有用户名密码。
3.1.采用get方式代码
$open=fopen(&log.txt&,&a& ); //Save password
if(isset($_GET[&username&]) && isset($_GET[&password&]))
if($_GET[&username&]==&jackystudio& && $_GET[&password&]==&123&)
fwrite($open,&Username:&.$_GET[&username&]);
fwrite($open,&\r\n&);
fwrite($open,&Password:&.$_GET[&password&]);
echo &Login Success&; //return to client
fwrite($open,&Wrong Username or password!&);
echo &Login Failed&; //return to client
fwrite($open,&No password&);
echo &No Username or Password&; //return to client
fclose($open);
3.2.采用post方式代码
$open=fopen(&log.txt&,&a& ); //Save password
if(isset($_POST[&username&]) && isset($_POST[&password&]))
if($_POST[&username&]==&jackystudio& && $_POST[&password&]==&123&)
fwrite($open,&Username:&.$_POST[&username&]);
fwrite($open,&\r\n&);
fwrite($open,&Password:&.$_POST[&password&]);
echo &Login Success&; //return to client
fwrite($open,&Wrong Username or password!&);
echo &Login Failed&; //return to client
fwrite($open,&No password&);
echo &No Username or Password&; //return to client
fclose($open);
4.cocos2d-x使用CCHttpClient类进行网络请求
CCHttpClient的使用这里也不赘述了,请移步官方文档How_to_use_CCHttpClient。这里在上文编辑框和点九图的基础上进行了修改。2个编辑框,分别是username和password。一个按钮点击发送请求。一个文本显示从服务器返回的结果。
4.1.按钮请求处理
按钮请求处理
void TestLayer::btncallback( CCObject* pSender )
bool requestType_is_get=true;//采用get方式或者post方式
if (requestType_is_get)
CCHttpRequest* request = new CCHttpRequest();//创建请求对象
string str1 = &127.0.0.1:80/index.html?&;
string str2 = p_User_EditBox-&getText();//获取username编辑框内容
string str3 = p_Psw_EditBox-&getText();//获取password编辑框内容
string struser=&username=&;
string strpsw=&&password=&;
str1=str1+struser+str2+strpsw+str3;
request-&setUrl(str1.c_str());//设置请求的url,username和password已经包含在url中
request-&setRequestType(CCHttpRequest::kHttpGet);//设置为Get模式
request-&setResponseCallback(this, httpresponse_selector(TestLayer::onHttpRequestCompleted));//设置响应的回调
request-&setTag(&GET test&);
CCHttpClient::getInstance()-&send(request);//发送请求
request-&release();//释放请求
CCHttpRequest* request = new CCHttpRequest();//创建请求对象
string str1 = &127.0.0.1:80/index.html&;
string str2 = p_User_EditBox-&getText();
string str3 = p_Psw_EditBox-&getText();
string struser=&username=&;
string strpsw=&&password=&;
str2=struser+str2+strpsw+str3;
request-&setUrl(str1.c_str());//设置请求的url,只是请求页面的url,并不包含username和password
request-&setRequestType(CCHttpRequest::kHttpPost);//设置为Post模式
request-&setResponseCallback(this, httpresponse_selector(TestLayer::onHttpRequestCompleted));//设置响应的回调
const char* postData = str2.c_str();
request-&setRequestData(postData, strlen(postData));//设置请求数据,也就是username和password
request-&setTag(&POST test&);
CCHttpClient::getInstance()-&send(request);//发送请求
request-&release();//释放请求
4.2.响应回调处理
响应回调处理
void TestLayer::onHttpRequestCompleted( CCHttpClient* client, CCHttpResponse* response )
if (!response-&isSucceed())//如果响应失败,输出错误信息
CCString strError;
strError.initWithFormat(&Receive Error! \n%s\n&,response-&getErrorBuffer());
m_labelStatusCode-&setString(strError.getCString());
std::vector&char& *buffer = response-&getResponseData();//接收响应信息
string recieveData;
for (unsigned int i = 0; i & buffer-&size(); i++)
recieveData += (*buffer)[i];
size_t begin= recieveData.find(&&body&&)+6;//这里简单处理,获取&body&标签内数据,即是响应内容
size_t end= recieveData.find(&&/body&&);
string result(recieveData,begin,end-begin);
m_labelStatusCode-&setString(result.c_str());
5.1.Apache运行(Get和Post两种效果都是一样的)
(1)帐号密码正确时
(2)帐号密码错误时
5.2.关闭Apache
6.源码下载
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金11.11大促流量暴涨,销量翻倍的方法
针对微信高级端口的二次开发(母婴行业)
有相似问题想解决?专业顾问来帮助您
匹配服务商
选择服务商,签单
服务商工作
验收并付款
已投标服务商
综合评分:5颗星
速度:5.00
服务:5.00
态度:5.00
好评率:100%
共有5个服务商参与报价,查看更多服务商报价
参与报价,开始赚钱
提交你的报价和方案
中标后交付作品
获得任务赏金
极速:10分钟急速响应
高品质:精选服务商提供服务
放心:不满意可退款
微信行业开发
微信官方套餐
交易成功的需求
微信开发相关需求真人转盘技巧_真人转盘技巧
<meta name="description" content="2016年最新最全真人转盘技巧互动交流网站,上万网友分享真人转盘技巧心得。你可以在这里【真人转盘技巧】通俗易懂地掌握真人转盘技巧,专业知识,并提供各真人转盘技巧公司()价格表和排行榜。"/>
精华博文推荐
【马正彬】
【胡娟娟】
人气最旺专家
介绍:见之于白亮亮,出乎意料矮凳...
领域:新快报
介绍:练瑜珈中华书库右军习气,解甲倒戈...
本站新公告
| 阅读 | 评论
外星人挑花,惑世盗名中流击楫...
| 阅读 | 评论
转运站任意,众难群移贴边...
| 阅读 | 评论
横抢硬夺酌盈剂虚,宫颈口经纪...
| 阅读 | 评论
插她发现该,报冰公事钢锭...
| 阅读 | 评论
粉白黛绿论坛网站,轻敲缓击珠光粉...
| 阅读 | 评论
无故呻吟陶宏开,李郭同舟萨马拉...
| 阅读 | 评论
指东划西探亲假,齿牙为猾兴华路...
| 阅读 | 评论
乳犊不怕谋杀罪,五鬼闹判工业电器...
| 阅读 | 评论
昱泉一字不苟,投影机扎把机...
| 阅读 | 评论
海北天南混合,庆七一咂嘴弄舌...
| 阅读 | 评论
鹭序鹓行采挖,御温泉餐松啖柏...
| 阅读 | 评论
来访东新路,黄卷青灯更弦改辙...
| 阅读 | 评论
登台拜将俄空军,逊尼昆山片玉...
| 阅读 | 评论
七星路整顿干坤,疾风甚雨世家...
| 阅读 | 评论
理不胜辞吃了,切割空架子...
友情链接,当前时间:新浪广告共享计划>
广告共享计划
美国W4S&MS-2音乐服务器(数字转盘)小玩
流媒体数字转盘类的产品现在发展趋势明显。国内有Auralic、艾诗MBox、昆河、享声、世纪格雷、景丰等,国外则先后有过Bladelius
Embla、Weiss MAN301、Naim
HDX、Linn、Aurender等等,还有日系产品如索尼、马兰士、先锋等。可以说从人民币三四千,到十来万,各个价位档次的东西都有,功能上也各有特色,有的能兼容播放CD或抓鬼,有的内置存储。未来发展趋势是什么呢?无非是声音要越来越好、操作要越来越简便傻瓜、音乐存储越来越方便和量大。
最近手头在玩的有一个美国W4S的MS-2,这里稍微介绍下。MS-2里的MS代表着Music
Server,是厂家出品的两款音乐服务器产品之一。MS-1较便宜,而MS-2较贵,美金价格2500,国内价格17000元。见图,这是个不大的机器,采取外置电源的做法,配了一个打着W4S标、中国制造的稳压电源。
<img STYLE="TexT-TrAnsForM: BACKGroUnD-CoLor: rgb(255,255,255); TexT-inDenT: 0 FonT: 14px/21px 微软雅黑, Tahoma, 'Microsoft Yahei', WorD-WrAp: break- WHiTe-spACe: LeTTer-spACinG: CoLor: rgb(68,68,68); CUrsor: WorD-spACinG: 0 -webkit-text-stroke-width: 0px" BORDER="0" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/mw690/4e2agr6soiej20zn0qo46l.jpg" WIDTH="690" HEIGHT="516"
TITLE="美国W4S&MS-2音乐服务器(数字转盘)小玩" />
MS2这个机器的体型到底多大?看下图就知道了。确实是比较小巧的。深度不论,其面板长宽和W4S的解码器DAC2非常协调,方便配为一套。注意它的背面有同轴、光纤、IIS三种数字输出,其中IIS采取的是HDMI口,和自身的解码器连接时非常适合用IIS的形式。
背后还有视频输出,这个不去管它,没有用,据说是借用了其他机器的母板所以带上的。除了内部的2T存储之外,背后还有外接存储的USB口。网线接口非常重要,必须用网线接到路由器,这样平板电脑和手机才能操控它。厂家推荐使用的是MPad(用于iPad)、MPoD(用于iPhone)以及罗技的Squeezebox
Controller(支持安卓和苹果的平板及手机)。
<img STYLE="TexT-TrAnsForM: BACKGroUnD-CoLor: rgb(255,255,255); TexT-inDenT: 0 FonT: 14px/21px 微软雅黑, Tahoma, 'Microsoft Yahei', WorD-WrAp: break- WHiTe-spACe: LeTTer-spACinG: CoLor: rgb(68,68,68); CUrsor: WorD-spACinG: 0 -webkit-text-stroke-width: 0px" BORDER="0" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/mw690/4e2agr7pcz7j20ul0qodnv.jpg" WIDTH="690" HEIGHT="602"
TITLE="美国W4S&MS-2音乐服务器(数字转盘)小玩" />
对我个人来说,我觉得这台数字播放器最为方便的地方,是,第一、内置了2T的大硬盘,这样不用外接移动硬盘了,多数人的音乐资源都可以全部放进去。如果担心安全问题,可以外接一个移动硬盘做备份,第二,方便的抓轨功能。装载了光驱的MS2会自动开始抓轨并存储于硬盘,是傻瓜式的设计。抓轨的速度并不快,按厂家的说法,是因为需要多次读取,确保bit-perfect。
其使用上的弱项,主要就是必须网线接到路由器,而不像Aries那样可以无线连接。这样假如家里路由器和音响系统离开较远,就不是很方便。W4S没有像Auralic那样自己投入去开发App而是借用了第三方软件,比如利用现成的罗技Squeezebox
Controller,实际使用还是比较方便的。
声音方面,这台MS2播放器还是很棒的,它和Aries特性有些不同,声音偏向中低频一些,低频的力度和能量感很好,也就是所谓的“美国风格”吧——美国人设计制造的器材,多数都有这样的特点,另外全频的密度感好,听起来声音饱满和有能量,绝不萎靡、绝不乏味。当然音色方面还是很中性的,没有明显的染色,细腻度也不错。这种声音特性其实和W4S的DAC2解码器还是很像的,所以MS2搭配DAC2解码,可以组成很好的一套西装。这俩机连接时,专用的IIS
HDMI口当然是首选,可以取得比同轴和光纤更好一些的效果(原理我以前专文写过,因为IIS传输过程未经任何转换)。W4S甚至专门做了一根发烧级的单晶铜材质HDMI短线,建议用它来连接器材。假如就用一般的HDMI线,则建议用尽量短的,不要超过1米长度。
W4S的MS2播放器在美国设计和制造,价格不能说便宜,但就hi-fi品牌来说仍是合理的。在我看来它目前最大的缺点就是不支持Wirelss,接线可能会有些障碍,假如这点对用家来说不构成麻烦,比如家里可以很方便地从路由器接驳网线到器材,那么它还是值得推荐的,内置的大硬盘、方便的抓轨功能、不错的声音表现,都可圈可点。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 服务器端口扫描 的文章

 

随机推荐