NetworkClient
NetworkServer

NetworkConnection

Important: UNet adalah solusi yang diuraikan, dan Solusi Multiplayer baru dan NetworkingSistem Unity yang memungkinkan game multiplayer di jaringan komputer. More info
Lihat di Glossary
(Netcode untuk GameObjects) sedang berkembang. Untuk informasi lebih lanjut dan langkah selanjutnya melihat informasi di .

NetworkConnection adalah kelas API yang menghubungkan koneksi jaringan. (NetworkClient)[class-NetworkClient] objek memiliki NetworkConnection, dan NetworkServers memiliki beberapa koneksi - satu dari setiap klien. NetworkConnections memiliki kemampuan untuk mengirim array byte, atau objek serialisasi sebagai pesan jaringan.

Properties

Property: Function:
hostId NetworkTransport host Id untuk koneksi ini.
connectionId Koneksi NetworkTransport Id untuk koneksi ini.
isReady Bendera untuk mengontrol apakah pembaruan negara dikirim ke koneksi ini
lastMessageTime Waktu terakhir bahwa pesan diterima pada koneksi ini.
address Alamat IP dari titik akhir bahwa koneksi ini terhubung ke.
playerControllers Satu set pemain yang telah ditambahkan dengan AddPlayer().
clientOwnedObjects Set objek yang koneksi ini memiliki wewenang.

Kelas NetworkConnection memiliki fungsi virtual yang disebut ketika data dikirim ke lapisan transportasi atau diwakili dari lapisan transportasi. Fungsi ini memungkinkan versi khusus dari NetworkConnection untuk memeriksa atau memodifikasi data ini, atau bahkan rute ke sumber yang berbeda. Fungsi ini ditunjukkan di bawah ini, termasuk perilaku default:

public virtual void TransportRecieve(byte[] bytes, int numBytes, int channelId)
{
    HandleBytes(bytes, numBytes, channelId);
}

public virtual bool TransportSend(byte[] bytes, int numBytes, int channelId, out byte error)
{
    return NetworkTransport.Send(hostId, connectionId, channelId, bytes, numBytes, out error);
}

Contoh penggunaan fungsi ini adalah untuk mencatat isi paket masuk dan keluar. Berikut adalah contoh kelas DebugConnection yang berasal dari NetworkConnection yang mencatat 50 byte paket pertama ke konsol. Untuk menggunakan kelas seperti panggilan ini fungsi SetNetworkConnectionClass() pada NetworkClient atau NetworkServer.

class DebugConnection : NetworkConnection
{
    public override void TransportRecieve(byte[] bytes, int numBytes, int channelId)
    {
        StringBuilder msg = new StringBuilder();
        for (int i = 0; i < numBytes; i++)
        {
            var s = String.Format("{0:X2}", bytes[i]);
            msg.Append(s);
            if (i > 50) break;
        }
        UnityEngine.Debug.Log("TransportRecieve h:" + hostId + " con:" + connectionId + " bytes:" + numBytes + " " + msg);

        HandleBytes(bytes, numBytes, channelId);
    }

    public override bool TransportSend(byte[] bytes, int numBytes, int channelId, out byte error)
    {
        StringBuilder msg = new StringBuilder();
        for (int i = 0; i < numBytes; i++)
        {
            var s = String.Format("{0:X2}", bytes[i]);
            msg.Append(s);
            if (i > 50) break;
        }
        UnityEngine.Debug.Log("TransportSend    h:" + hostId + " con:" + connectionId + " bytes:" + numBytes + " " + msg);

        return NetworkTransport.Send(hostId, connectionId, channelId, bytes, numBytes, out error);
    }
}
NetworkClient
NetworkServer