- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两个线程客户端 服务器连接简单示例
Posted on 2013年04月30日 by U3d / \o 查看 Unity3D脚本/插件 中的全部文章 Unity3D脚本/插件/被围观 155 次
001
//分别创建了两个线程客户端 服务器连接的简单示例
002
003
using UnityEngine;
004
005
using System;
006
007
using System.Collections;
008
009
using System.Threading;
010
011
using System.Net.Sockets;
012
013
using System.Net;
014
015
using System.Text;
016
017
public class TCPIPClientServer : MonoBehaviour
018
019
{
020
021
void Start()
022
023
{
024
025
Debug.Log(GetIP().ToString());
026
027
}
028
029
public static Socket ClientSocket;
030
031
private void InitConnect()
032
033
{
034
035
ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
036
037
string ip = GetIP().ToString();//服务器ip
038
039
IPAddress ipa = IPAddress.Parse(ip);
040
041
IPEndPoint iep = new IPEndPoint(ipa, 8000);
042
043
try
044
045
{
046
047
ClientSocket.Connect(iep);//连接到服务器
048
049
Thread thread = new Thread(new ThreadStart(ClientReceive));
050
051
thread.Start();
052
053
}
054
055
catch (Exception ex)
056
057
{
058
059
Debug.Log(ex.Message);
060
061
clientReceiveValue = ex.Message;
062
063
}
064
065
}
066
067
068
069
/*接收来自服务器上的信息*/
070
071
public void ClientReceive()
072
073
{
074
075
clientReceiveValue = 已经建立连接准备接受数据;
076
077
while (true)
078
079
{
080
081
byte[] bytes = new byte[100];
082
083
int rev = ClientSocket.Receive(bytes, bytes.Length, 0);//将数据从连接的 Socket 接收到接收缓冲区的特定位置。
084
085
if (rev = 0)
086
087
{
088
089
break;
090
091
}
092
093
string strev = System.Text.Encoding.Default.GetString(bytes);
094
095
clientReceiveValue = (服务器对客户端说: + strev + \r\n);
096
097
文档评论(0)