游戏开发之网络篇_03 Socket异步服务器连接和使用

10 篇文章 0 订阅
6 篇文章 0 订阅

接上一篇博客吧! 上一篇博客说了很多的概念性的东西,那么从这一节开始我们便开始来实际操作一下啦,比较作为程序猿的我们理论学的再多,不如实际去撸一波代码,哈哈哈~
这里我不会花费很多时间去讲解一下关于Socket通信的一些同步的API和内容,因为说白了,在商业级别的游戏中,基本没有人会用这些东西的.因为也很简单,自己百度一波就出来了.而且大家看这一节的标题想必就知道了,这一节主要是来介绍我们异步连接到我们的服务器有关知识的哈.
本节所展示的代码均是采用异步的操作方式的,如有不明白什么是异步的话,自行移步百度解决.

using UnityEngine;
using System.Net.Sockets;
using System;

public class TestSocket : MonoBehaviour
{
    private const string IP = "127.0.0.1";

    private const int Port = 8888;

    //定义套接字
    private Socket socket;

    //发起连接
    public void Connetion()
    {
        //Socket
        socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        //Connect
        socket.BeginConnect(IP, Port, ConnectCallback, socket);
    }

    //Connect回调
    public void ConnectCallback(IAsyncResult ar)
    {
        try
        {
            Socket socket = (Socket) ar.AsyncState;
            socket.EndConnect(ar);
            Debug.Log("Socket Connect Succ ");
        }
        catch (SocketException ex)
        {
            Debug.LogError("Socket Connect fail" + ex.ToString());
        }
    }
}

上面的代码很简单,就是客户端声明一个socket 然后绑定一下IP和端口,调用异步连接的方法向服务端发起连接,告诉服务器我要请求连接了…
不过,我们现在好像没有服务器唉,别着急,下一节我们自己来实现一个简单的服务器.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值