上一章我已经讲解了数据库直连的方法,这章就讲解一下链接服务器的方法,这里我搭建了一个本地端口想要链接数据库,下面是链接本地局域网的端口代码
public Text text_userid;
public void OnButtonClick()
{
//PostWebRequest("端口链接网址","传入的数据")
Debug.Log(PostWebRequest("端口链接网址","userid=123456789&pwd=123456789"));
}
private string PostWebRequest(string postUrl, string paramData)
{
// 把字符串转换为bype数组,参数转化为ascii码,确定中文编码方式。比较常见的编码格式utf-8和gb2312,国内主机一般都是gb2312
byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(paramData);//将paramData下的文本转换成gb2312格式
//1. 创建httpWebRequest对象
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));//拼接url地址
//2. 初始化HttpWebRequest对象
webReq.Method = "POST";//确定传值的方式,此处为post方式;传值类型有两种GET和POST用哪个方法写哪个
//application/x-www-form-urlencoded发送服务器的编码类型,这是标准的编码格式。,EncType提交数据的格式
webReq.ContentType = "application/x-www-form-urlencoded;charset=gb2312";//提交的数据按照 key1=val1&key2=val2 的方式进行编码
webReq.ContentLength = bytes.Length;//消息的长度,用十进制数字表示的八位字节的数目。
using (Stream newStream = webReq.GetRequestStream())
{//3. 附加要POST给服务器的数据到HttpWebRequest对象(附加POST数据的过程比较特殊,它并没有提供一个属性给用户存取,需要写入HttpWebRequest对象提供的一个stream里面。)
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
}
using (WebResponse res = webReq.GetResponse())
{//4. 读取服务器的返回信息
//在这里对接收到的页面内容进行处理
Stream responseStream = res.GetResponseStream();
StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
string str = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();
text_userid.text = str;
//返回:服务器响应流
return str;
}
}
这套代码只可以在电脑端调用
public Text text_userid;
private string url = "http://192.168.1.105:81/EvaluationService/IF_Evaluation.aspx";
IEnumerator Start()
{
WWWForm form = new WWWForm();
form.AddField("userid", "123456789");
form.AddField("pwd", "123456789");
WWW getData = new WWW(url, form);
yield return getData;
if (getData.error != null)
{
Debug.Log(getData.error);
}
else
{
text_userid.text = getData.text;
Debug.Log(getData.text);
}
}
这套代码在手机端和电脑端均可以调用
当然链接数据库的代码是在服务器端来写的,这套那套代码实在太多了,还没有研究透彻