Unity nâng cao>>P3 >> Client socket trong Unity

Chào các bạn, chúng ta tiếp tục trao đổi về Unity nâng cao. Phần này chúng ta bắt đầu tạo client để gủi nhận thông tin. Đây là mục cơ bản để bắt đầu phát triển một hệ thống client - server. Phần trước chúng ta đã tạo server, phần này chúng ta tạo client gủi dữ liệu đế nó.

Chú ý: Hãy đọc bài server socket trước.

Bước 1: Mở project trong phần server lần trước
Bước 2: Tạo 1 javascript với tên: ClientSocket

Code:

import System;

import System.IO;

import System.Net;

import System.Net.Sockets;

import System.Text;

var client : TcpClient;

var stream : NetworkStream;

var reader: StreamReader;

var writer: StreamWriter;

var msg:String;

private var otherIp: String = "192.168.1.13";

private var otherPort: Int32 = 9051;

private var otherData: String = "Data client socket of Unity";

private var txtLog;

function Awake(){

txtLog = GameObject.Find("txtLog");

}

function Update () {

}

function ShowLog(st: String){

txtLog.guiText.text = st;

}

function OnGUI(){

//Client

otherIp = GUI.TextField(new Rect(500,10,100,20),otherIp);

otherPort = int.Parse(GUI.TextField(new Rect(500,50,40,20),otherPort.ToString()));

otherData = GUI.TextField(new Rect(500,90,100,20),otherData);

try{

if (GUI.Button(Rect(320,10,150,20), "Client send to")) {

client = new TcpClient(otherIp, otherPort);

stream = client.GetStream();

writer = new StreamWriter(stream);

writer.WriteLine(otherData);

ShowLog("Sent data="+otherData);

writer.Flush();

reader = new StreamReader(stream);

msg = reader.ReadLine();

ShowLog("Reserve data="+msg);

}

}

catch(ex: Exception){

ShowLog("error");

}

}

Trong phần này không có nhiều kiến thức mới, chúng ta sử dụng TcpClient để tạo kết nối tới server. Các tính năng khác đã được giải thích trong bài trước.


Từ ví dụ trên, chúng ta có thể phát triển game dạng client - server thông qua socket. Trong bài tới mình sẽ giới thiệu cách khác để tạo server client không thông qua socket.