unity服务器获取消息,Unity 获取服务器时间 HTTP请求方式

在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了。。。。, 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法.

方法总结:

1. 使用HTTP请求获取服务器时间,不能实时获取服务器时间这样高频率的

2. 使用socket可以实时获取服务器时间

3. 使用C#自带API获取sql server 标准北京时间(=。=还没有找到这个API)

第HTTP方式:

6755935b206c644ee9c326df0a254286.png

代码:

using UnityEngine;

using System.Collections;

using System.Timers;

using System;

using System.Text.RegularExpressions;

public class Test : MonoBehaviour {

private string url = "http://www.beijing-time.org/time.asp"; //免费获取背景时间的Wbe 接口

private string time = string.Empty;

void OnGUI()

{

if(GUI.Button(new Rect(0,0,100,100),"获取北京时间"))

{

StartCoroutine(GetTime());

}

GUI.Label(new Rect(0, 100, 300, 300), "时间:" + time);

}

IEnumerator GetTime()

{

Debug.Log("开始请求服务器");

WWW www = new WWW(url);

yield return www; //在这里阻塞,等待响应之后返回

if (www.isDone && string.IsNullOrEmpty(www.error))

{

SpliitString(www);

}

}

public void SpliitString(WWW www)

{

//使用正则表达式匹配

string patten = @"[0-9]{1,};";

Regex regex = new Regex(patten);

MatchCollection result = regex.Matches(www.text);

//组织时间

time = string.Format("{0}-{1}-{2} {3}:{4}:{5}"

, result[0].Value.TrimEnd(';')

, result[1].Value.TrimEnd(';')

, result[2].Value.TrimEnd(';')

, result[4].Value.TrimEnd(';')

, result[5].Value.TrimEnd(';')

, result[6].Value.TrimEnd(';')

);

Debug.Log("北京时间:" + time);

}

}

JS实现Ajax---例:获取服务器时间

Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...

Javascript获取服务器时间

//获取服务器时间 var getServerDate = function () {     var xmlHttpRequest = null,     serverDate = new Date ...

php获取服务器时间的代码

php获取服务器时间的代码. 用php的date函数即可来获取服务器上的时间:  <?php //将时区设置为中国 date_default_timezone_set("PRC&quo ...

JS获取服务器时间并且计算距离当前指定时间差的函数

项目中遇到了从服务器获取时间,现在记录一下方便以后查询: 1.后台代码:(创建一个date对象并以JSON的形式返回去) // 获取服务器时间 public String getNowServerTi ...

JS 中获取服务器时间的注意点

在通过js获取服务器时间时,遇到了小小的问题,但造成的影响挺大的,所以写出来提醒大家,在获取服务器时间时一定要细心要多测试多验证. js 中使用以下方法获取服务器时间时要注意两点: 1.xhr.ope ...

JS中new Date()用法及获取服务器时间

1.获取服务器时间: var now = new Date($.ajax({async: false}).getResponseHeader("Date")); 2.new Dat ...

JavaScript or JQuery 获取服务器时间

用js做时间校正,获取本机时间,是存在bug的. 使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了(有的IE下扔不会正常获取,还是更建议走 ...

获取服务器时间ajax

$.ajax({ type:"OPTIONS", url:"/", complete:function(x){ // alert(x.getResponseHe ...

使用javascript获取服务器时间

思路:采用异步请求的方式,发送请求,获取HTTP请求的response头,头部中包含时间,使用getResponseHeader('Date')即可. 注意:以下任何一种方法都不精确,因为请求包的传输 ...

随机推荐

php面向对象加载类、常用设计模式

加载类: include("./Ren.class.php"); include "./Ren.class.php"; 用此方法的时候include后面要加空格 ...

线段树(main函数自由)

都是一些裸线段树的模板,无主函数! #include #include #include #include& ...

玩转JS插件系列

说明:本系列文章只是通过学习JS插件源码来巩固自己的JS知识,不涉及任何商业目的,如有侵犯版权请尽快告知 一.UI 背景 对话框和灯箱 筛选及排序 反馈 弹出层 悬停 布局 图表 加载 圆边 滚动 标 ...

C&num;解析Json字符串

1.var resultStr={"from":"en","to":"zh","trans_result&qu ...

oracle 11g数据库 DMP还原数据库

-------------------------- jd :表空间 -------------------------- --本地登陆 cmd下直接执行 sqlplus/as sysdba; --修 ...

Apache commons email 使用过程中遇到的问题

apache-commons-email是对mail的一个封装,所以使用起来确实是很方便.特别的,官网上的tutorial也是极其的简单.但是我也仍然是遇到了没有解决的问题. jar包的添加 mail ...

leetcode — construct-binary-tree-from-inorder-and-postorder-traversal

import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...

Centos7 yum安装Chrome浏览器

一.创建yum源文件 cd /etc/yum.repo.d/ touch google-chrome.repo 二.输入yum源信息 [google-chrome] name=google-chrom ...

【css】zSass - 用 sass 编写 css

zSass 是自己整理的一个 sass 库,参考了 sassCore. 目录结构 variables.scss 默认值设置. reset.scss 重置浏览器样式.(参考:normalize) com ...

C&plus;&plus;运算符重载 模板友元 new delete &plus;&plus; &equals; &plus;&equals;

今天的重载是基于C++ 类模板的,如果需要非类模板的重载的朋友可以把类模板拿掉,同样可以参考,谢谢. 一.类模板中的友元重载 本人喜好类声明与类成员实现分开写的代码风格,如若您喜欢将类成员函数的实现写 ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值