unity3d简单聊天程序

首先建立一个脚本,名字自取。这里的联网通信方法是通过电脑端口模拟一个服务器出来,所以只能进行同一台PC中的多个程序通信(即PC同时作为服务端和客户端),不能实现多台PC的局域网通信。要想实现局域网通信,看来你需要个服务器!另外端口号可以在cmd里输入netstat -an命令查询,使用正在监听(LISTENING)的空闲端口就可以了。
using UnityEngine;
using System.Collections;

public class Chat : MonoBehaviour {
	private string ip="127.0.0.1";//定义远程服务器ip(这里为本地)
	private int port=135;//定义服务器端口
	private int connectCount=15;//限制连接数量为15个用户
	private bool useNAT=false;//是否启用网络地址转换器
	private string recMes="";//接收到的消息
	private string sendMes="";//要发送的消息
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
	void OnGUI(){
		switch (Network.peerType) {
			//服务器是否开启,没有与服务器连接时
		case NetworkPeerType.Disconnected:
			StartCreat();
			break;
			//启动服务器
		case NetworkPeerType.Server:
			OnServer();
			break;
			//启动客户端
		case NetworkPeerType.Client:
			OnClient();
			break;
			//尝试连接
		case NetworkPeerType.Connecting:
			Debug.Log("连接中");
			break;
		}
	}
	void StartCreat(){
		GUILayout.BeginVertical ();
		//新建服务器连接
		if (GUILayout.Button ("新建服务器")) {
			//初始化服务器端口,服务器创建成功后,Network.peerType变为NetworkPeerType.Client
			NetworkConnectionError error=Network.InitializeServer(connectCount,port,useNAT);
			Debug.Log(error);
		}
		//客户端是否连接服务器
		if (GUILayout.Button ("连接服务器")) {
			//连接至服务器,与服务器连接成功后,Network.peerType变为NetworkPeerType.Client
			NetworkConnectionError error=Network.Connect(ip,port);
			Debug.Log(error);
		}
		GUILayout.EndVertical ();
	}
	void OnServer(){
		GUILayout.Label("新建服务器成功,等待客户连接");
		//得到的ip与端口
		//string ip = Network.player.ipAddress;
		//int port = Network.player.port;
		//GUILayout.Label ("IP地址:" + ip + ".\n端口号:" + port);
		//连接到服务器的所有客户端
		int length = Network.connections.Length;
		//遍历所有客户端并获取IP与端口号
		for
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值