游戏蛮牛学习群(纯技术交流,不闲聊):539178957
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

项目源码

关注:1373

当前位置:游戏蛮牛 资源专区 项目源码

查看: 2796|回复: 17

[Unity] Unity Socket TCP

[复制链接]  [移动端链接]
7日久生情
4369/5000
排名
2654
昨日变化
2

1646

主题

1657

帖子

4369

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
132510
好友
17
蛮牛币
75229
威望
0
注册时间
2015-12-24
在线时间
352 小时
最后登录
2017-6-20
发表于 2016-9-9 10:55:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
  using UnityEngine;

  using System.Collections;

  using System.Collections.Generic;

  using System.Net.Sockets;

  using System.Net;

  using System.Text;

  using System;

  using System.Threading;

  namespace HelloSocket

  {

  /// <summary>

  ///配置信息

  /// </summary>

  /// ip地址 端口 类型:TCP/UDP

  class HelloAddress

  {

  private static string host ="127.0.0.1";

  private static int port = 5055;

  private static IPAddress ip = IPAddress.Parse(host);

  public static IPEndPoint IPEP = new IPEndPoint(ip, port);

  public static Socket hSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

  ///<summary>

  ///修改配置信息

  ///</summary>

  ///ip地址 端口 类型:TCP/UDP

  public static void SetHelloAddress(string ipStr, int iPort, System.Net.Sockets.ProtocolType type)

  {

  host = ipStr;

  port = iPort;

  ip = IPAddress.Parse(host);

  IPEP = new IPEndPoint(ip, port);

  hSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, type);

  }

  }

  ///<summary>

  ///客户端

  ///</summary>

  ///  API

  class HelloClient : HelloAddress

  {

  ///<summary>

  ///连接服务端

  ///</summary>

  public static void Main()

  {

  try

  {

  hSocket.Connect(IPEP);

  Thread threadConnect = new Thread(new ThreadStart(ReceiveMessage));

  threadConnect.Start();

  }

  catch (ArgumentNullException e)

  {

  Debug.Log(e.ToString());

  }

  catch (SocketException e)

  {

  Debug.Log(e.ToString());

  }

  }

  ///<summary>

  ///发送信息

  ///</summary>

  public static void SendMessage(string sendStr)

  {

  //确定是否连接

  if (hSocket.Connected)

  {

  IPEndPoint ipe = (IPEndPoint)hSocket.RemoteEndPoint;

  sendStr = ipe.ToString() + sendStr;

  byte[] bs = Encoding.ASCII.GetBytes(sendStr);

  hSocket.Send(bs, bs.Length, 0);

  }

  }

  ///<summary>

  ///接收信息

  ///</summary>

  private static void ReceiveMessage()

  {

  while (true)

  {

  byte[] recvBytes = new byte[1024];

  int iBytes = hSocket.Receive(recvBytes, recvBytes.Length, 0);

  if (iBytes <= 0)

  {

  break;

  }

  string recvStr = "";

  recvStr+=Encoding.ASCII.GetString(recvBytes,0,iBytes);

  Debug.Log("服务端返回的数据:" + recvStr);

  }

  }

  ///<summary>

  ///关闭套接字

  ///<summary>

  public static void Close()

  {

  hSocket.Close();

  }

  }

  ///<summary>

  ///服务端

  ///</summary>

  /// API

  class HelloServer : HelloAddress

  {

  //存储连接服务端的所有用户

  public static List<Socket> listPlayer = new List<Socket>();

  private static Socket sTemp;

  ///<summary>

  ///服务端 绑定地址并监听

  ///</summary>

  public static void Main()

  {

  try

  {

  Thread threadListenAccept = new Thread(new ThreadStart(ListenAccept));

  threadListenAccept.Start();

  }

  catch (ArgumentNullException e)

  {

  Debug.Log(e.ToString());

  }

  catch (SocketException e)

  {

  Debug.Log(e.ToString());

  }

  }

  ///<summary>

  ///监听用户连接

  ///</summary>

  private static void ListenAccept()

  {

  hSocket.Bind(IPEP);

  hSocket.Listen(0);

  sTemp = hSocket.Accept();

  listPlayer.Add(sTemp);

  Thread threadReceiveMessage = new Thread(new ThreadStart(ReceiveMessage));

  threadReceiveMessage.Start();

  while (true)

  {

  sTemp = hSocket.Accept();

  listPlayer.Add(sTemp);

  }

  }

  ///<summary>

  ///接收信息

  ///<summary>

  private static void ReceiveMessage()

  {

  while (true)

  {

  byte[] recvBytes = new byte[1024];

  int iBytes =sTemp.Receive(recvBytes, recvBytes.Length, 0);

  if (iBytes <= 0)

  {

  break;

  }

  string recvStr = "";

  recvStr += Encoding.ASCII.GetString(recvBytes, 0, iBytes);

  Debug.Log("客户端获取的数据:" + recvStr);

  }

  }

  ///<summary>

  ///发送信息

  ///</summary>

  public static void SendMessage(string sendStr)

  {

  IPEndPoint ipe = (IPEndPoint)sTemp.RemoteEndPoint;

  sendStr = ipe.ToString() + sendStr;

  byte[] bs = Encoding.ASCII.GetBytes(sendStr);

  sTemp.Send(bs, bs.Length, 0);

  }

  ///<summary>

  ///关闭套接字

  ///</summary>

  public static void Close()

  {

  for (int i = 0; i < listPlayer.Count; i++)

  {

  listPlayer[i].Close();

  }

  sTemp.Close();

  hSocket.Close();

  }

  }

  }

评分

参与人数 1鲜花 +2 收起 理由
风吹来 + 2 很给力!

查看全部评分


回复

使用道具 举报

排名
26622
昨日变化
23

0

主题

54

帖子

72

积分

Rank: 2Rank: 2

UID
166985
好友
0
蛮牛币
18
威望
0
注册时间
2016-9-5
在线时间
6 小时
最后登录
2016-11-3
发表于 2016-9-10 00:01:43 | 显示全部楼层
怎么这个编号器不会自动的实现代码的显示呢

回复 支持 反对

使用道具 举报

排名
59441
昨日变化
29

0

主题

22

帖子

32

积分

Rank: 1

UID
45865
好友
0
蛮牛币
3
威望
0
注册时间
2014-9-20
在线时间
8 小时
最后登录
2018-2-11
发表于 2016-9-21 16:13:45 | 显示全部楼层
缺币,来看看

回复

使用道具 举报

3偶尔光临
152/300
排名
12423
昨日变化
1

1

主题

48

帖子

152

积分

Rank: 3Rank: 3Rank: 3

UID
44357
好友
1
蛮牛币
326
威望
0
注册时间
2014-9-10
在线时间
38 小时
最后登录
2018-1-22
发表于 2016-9-27 10:29:39 | 显示全部楼层
好东西……谢谢楼主……

回复

使用道具 举报

排名
36646
昨日变化
34

0

主题

8

帖子

19

积分

Rank: 1

UID
90825
好友
0
蛮牛币
0
威望
0
注册时间
2015-4-9
在线时间
5 小时
最后登录
2018-4-3
发表于 2016-10-14 09:19:17 | 显示全部楼层
就是来看看

回复

使用道具 举报

6蛮牛粉丝
1005/1500
排名
2585
昨日变化
2

12

主题

155

帖子

1005

积分

Rank: 6Rank: 6Rank: 6

UID
159012
好友
1
蛮牛币
2907
威望
0
注册时间
2016-7-27
在线时间
340 小时
最后登录
2018-4-13
QQ
发表于 2016-11-2 20:26:36 | 显示全部楼层
看看 么么哒

回复

使用道具 举报

排名
19615
昨日变化
11

1

主题

22

帖子

75

积分

Rank: 2Rank: 2

UID
175656
好友
0
蛮牛币
83
威望
0
注册时间
2016-10-15
在线时间
31 小时
最后登录
2017-1-9
发表于 2016-11-9 22:35:32 | 显示全部楼层
mark一下
[发帖际遇]: a2220036 被钱袋砸中进医院,看病花了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
1538/5000
排名
1318
昨日变化

4

主题

250

帖子

1538

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
81888
好友
2
蛮牛币
8082
威望
0
注册时间
2015-3-19
在线时间
458 小时
最后登录
2018-6-11
发表于 2016-12-30 10:38:23 | 显示全部楼层
就是来看看

回复

使用道具 举报

3偶尔光临
229/300
排名
10745
昨日变化
6

0

主题

57

帖子

229

积分

Rank: 3Rank: 3Rank: 3

UID
156414
好友
1
蛮牛币
356
威望
0
注册时间
2016-7-11
在线时间
88 小时
最后登录
2018-4-22
发表于 2017-1-12 18:01:15 | 显示全部楼层
好东西……谢谢楼主……

回复

使用道具 举报

5熟悉之中
530/1000
排名
6702
昨日变化
4

1

主题

183

帖子

530

积分

Rank: 5Rank: 5

UID
116097
好友
0
蛮牛币
420
威望
0
注册时间
2015-7-31
在线时间
172 小时
最后登录
2018-6-19
发表于 2017-1-15 17:51:46 | 显示全部楼层
来看看!!!

回复

使用道具 举报

3偶尔光临
256/300
排名
12626
昨日变化
1

0

主题

108

帖子

256

积分

Rank: 3Rank: 3Rank: 3

UID
183900
好友
0
蛮牛币
149
威望
0
注册时间
2016-11-15
在线时间
87 小时
最后登录
2018-6-7
发表于 2017-2-7 11:03:06 | 显示全部楼层
话说这个怎么用,直接复制然后编译就可以啦???
[发帖际遇]: 低调嗯嗯 被钱袋砸中进医院,看病花了 2 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

2初来乍到
149/150
排名
12626
昨日变化
1

0

主题

45

帖子

149

积分

Rank: 2Rank: 2

UID
196735
好友
0
蛮牛币
239
威望
0
注册时间
2016-12-28
在线时间
42 小时
最后登录
2017-11-23
发表于 2017-3-20 19:20:16 | 显示全部楼层
感谢分享

回复

使用道具 举报

2初来乍到
107/150
排名
20392
昨日变化
2

0

主题

45

帖子

107

积分

Rank: 2Rank: 2

UID
154633
好友
0
蛮牛币
54
威望
0
注册时间
2016-7-1
在线时间
42 小时
最后登录
2018-5-16
发表于 2017-5-8 08:47:49 | 显示全部楼层
dadadadadwfaad
[发帖际遇]: 一个袋子砸在了 wh19871001 头上,wh19871001 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

6蛮牛粉丝
1187/1500
排名
2317
昨日变化
2

17

主题

190

帖子

1187

积分

Rank: 6Rank: 6Rank: 6

UID
164305
好友
0
蛮牛币
1565
威望
0
注册时间
2016-8-29
在线时间
432 小时
最后登录
2018-5-11
发表于 2017-5-25 11:40:42 | 显示全部楼层
怎么用呀

回复

使用道具 举报

5熟悉之中
996/1000
排名
2818
昨日变化
1

0

主题

133

帖子

996

积分

Rank: 5Rank: 5

UID
211074
好友
0
蛮牛币
624
威望
0
注册时间
2017-3-10
在线时间
405 小时
最后登录
2018-6-22
发表于 2017-8-6 21:02:08 | 显示全部楼层
话说这个怎么用,直接复制然后编译就可以啦???

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

快速回复 返回顶部 返回列表