网络基础(三)同步模式,客户端程序

1.unity 画一个客户端程序界面

2.新建net.cs文件,编写客户端程序。创建Socket后,客户端通过Connect连接服务器,然后向服务器发送“Hello Unity!”。发送后等待服务器回应,并把服务器回应的字符串显示出来。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net;
using System.Net.Sockets;
using UnityEngine.UI;

public class net : MonoBehaviour {
  //与服务端的套接字
  Socket socket;
  //服务端的ip和端口
  public InputField hostInput;
  public InputField portInput;
  //文本框
  public Text recvText;
  public Text clientText;
  //接收缓冲区
  const int BUFFER_SIZE = 1024;
  byte[] readBuff = new byte[BUFFER_SIZE];

  public void Connection(){                                          //Connection方法,到时按钮要绑定此方法
    //Socket
    socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 
    //Connect
    string host = hostInput.text;
    int port = int.Parse (portInput.text);
    socket.Connect (host, port);
    clientText.text = "客户端地址" + socket.LocalEndPoint.ToString();
    //Send
    string str = System.DateTime.Now.ToString();      //发送服务器当前的时间
    byte[] bytes = System.Text.Encoding.Default.GetBytes (str);
    socket.Send (bytes);
    //Recv
    int count = socket.Receive(readBuff);
    str = System.Text.Encoding.UTF8.GetString (readBuff, 0, count);
    recvText.text = str;
    //close
    socket.Close();

    }

}

3.添加net组件,设置属性(按钮要绑定Connection方法,还有文本框等要绑定对应组件)。运行服务端和客户端程序。输入服务器端IP和端口号,点击按钮。客户端会显示服务端的回应信息

 

 备注:文章内容,代码都来源于 《Unity3D网络游戏实战》(罗培羽 著)这本书 

posted @ 2019-07-01 16:04  bianbian1234  阅读(212)  评论(0编辑  收藏  举报