Unity中C#网络通信和下载保存
Unity中C#网络通信和下载保存
开发环境
Window7
Unity3D 3.4.1
VS2010
MB525defy Android 2.2.1
这次带来的是Unity中C#网络通信和下载保存,都是很有实用价值的代码,希望大家喜欢=。= 再免费送上最近做的测试效果图,公司美术一直很给力,程序与美术之间都在共同进步,这次贴图测试效果出来了-0- 以后有机会就给大家分享下材质和Shader方面的学习经验。
本文工程地址下载地址:
免费下载地址在 http://linux.bkjia.com/
用户名与密码都是www.bkjia.com
具体下载目录在 /pub/2011/10/25/Unity中C#网络通信和下载保存/
本次学习:
1. 简单的C#通信测试
2. 下载和本地保存实例
1. 简单的C#通信测试
首先是与服务器端通信测试,这里羽化和明哥商量的是用C#,因为我们都是Java出生,服务器部分就交给了明哥,羽化这里只是截取了主要实现的小部分代码,所以只能拿来参考,并不能用于实战,明哥最近又在忙什么多线程通信,线程锁之内的高深问题-0- 这是羽化写的客户端实现,只能一次通信,服务器可以多次接受,下面是服务器的截图,在VS2010中运行截图:
代码放在了下面的工程文件中,这里主要学习Unity中的客户端。总共分成3步:连接-发送-接受,简单的3步,这里的“192.168.0.154”是羽化本机的IP地址,大家要测试时不要忘了更改,再者若没打开服务器就运行本工程,就会停顿一定时间,在报错开始运行,原因是羽化没开多线程- -
CtoS.cs
- using UnityEngine;
- using System.Collections;
- using System.ComponentModel ;
- using System;
- using System.Text;
- using System.Net;
- using System.Net.Sockets;
- using System.Threading;
- public class CtoS : MonoBehaviour
- {
- public string SendM= "-(00)-";
- public string server = "192.168.0.154";
- private Socket socket;
- public GUIText Test;
- void Start ()
- {
- try
- {
- /*Connect*/
- socket = new Socket ( AddressFamily.InterNetwork , SocketType.Stream , ProtocolType.Tcp);
- IPEndPoint tempRemoteIP = new IPEndPoint (IPAddress.Parse(server), 11000);
- EndPoint epTemp = (EndPoint)tempRemoteIP;
- socket.Connect(epTemp);
- print("Success Connect");
- /*Send*/
- Byte[] bytesSent = Encoding.ASCII.GetBytes(SendM);
- socket.Send(bytesSent,bytesSent.Length,0);
- /*Received*/
- Byte[] bytesReceived = new Byte[256];
- int bytes = 0;
- string page = "Server: Success Connect " + server + ":\r\n";
- do
- {
- bytes = socket.Receive(bytesReceived, bytesReceived.Length, 0);
- page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes);
- }
- while (bytes > 0);
- Test.text = page;
- }
- catch (Exception e)
- {
- print(e);
- }
- }
- }
|
评论暂时关闭