1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Net;
  8. using System.Net.Sockets;
  9. using System.IO;
  10. using System.Threading;
  11. using UnityEngine.UI;
  12. using UnityEngine.Networking;
  13. public class ss : MonoBehaviour {
  14. public TcpClient client;
  15. public BinaryReader breader;
  16. public BinaryWriter bwriter;
  17. public NetworkStream netstream;
  18. string abc = "";
  19. string abc0 = "";
  20. Text text;
  21. public bodyController CF;
  22. public float m_speed = 5f;
  23. private static Socket clientSocket;
  24. private static byte[] result = new byte[1024];
  25. // Use this for initialization
  26. void Start () {
  27. CF = GameObject.Find("RimaVirtualBody/rima").GetComponent<bodyController>();
  28. client = new TcpClient("172.20.20.241", 8140);
  29. // client = new TcpClient("127.0.0.1", 8139);
  30. // netstream = client.GetStream();
  31. clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  32. //IPAddress mIp = IPAddress.Parse("172.20.20.241");
  33. //IPEndPoint ip_end_point = new IPEndPoint(mIp, 8140);
  34. IPAddress mIp = IPAddress.Parse("127.0.0.1");
  35. IPEndPoint ip_end_point = new IPEndPoint(mIp, 8140);
  36. clientSocket.Connect(ip_end_point);
  37. //breader = new BinaryReader(netstream);
  38. // bwriter = new BinaryWriter(netstream);
  39. Thread threadReceive = new Thread(new ThreadStart(ReceiveData));
  40. threadReceive.IsBackground = false;
  41. threadReceive.Start();
  42. //text = GameObject.Find("Canvas/Text").GetComponent<Text>();
  43. }
  44. private void ReceiveData()
  45. {
  46. int length = clientSocket.Receive(result);
  47. //string receiveSting = null;
  48. abc = Encoding.UTF8.GetString(result, 0, length);
  49. Debug.Log(abc);
  50. }
  51. // Update is called once per frame
  52. void Update () {
  53. if(abc!=abc0)
  54. {
  55. if (abc == "聆听") CF.hear();
  56. if (abc == "跳舞") CF.dance();
  57. if (abc == "谈话") CF.talk();
  58. if(abc=="立正") CF.idle();
  59. abc0 = abc;
  60. }
  61. else
  62. {
  63. }
  64. }
  65. }

总是只接受一个字符串,或者把对方发来的接成yige

前者原因是while(true)漏了,后者是因为没关闭clientSocket.Receive,可以clientSocket.close();

  1. while (true)
  2. {
  3. int length = clientSocket.Receive(result);
  4. //string receiveSting = null;
  5. abc = Encoding.UTF8.GetString(result, 0, length);
  6. Debug.Log(abc);
  7. }

前者改动后可以省略后者的改动。

unity3d C# soket客户端接受失败的更多相关文章

  1. soket客户端程序(一)

    soket客户端主要完成以下步骤: 1.建立soket套接字(将套接字理解为一个通道) 2.建立连接 3.向服务器发送http请求 4.接收得到的数据 5.关闭连接 6.本地处理得到的数据 http: ...

  2. ASP.NET MVC 客户端验证失败后表单仍然提交问题

    客户端验证失败后表单仍然提交问题!导致页面刷新,辛辛苦苦输入的内容荡然无存. 多么奇怪的问题.按道理,验证失败,就应该显示各种错误信息,不会提交表单才对.而现在,错误信息正常显示,但页面却刷新了一遍. ...

  3. FireFly 服务端 Unity3D黑暗世界 客户端 问题

    启动服务端成功截图: 连接成功截图: 测试服务端是否启动成功: 在Web输入:http://localhost:11009/  按回车 (查看cmd启动的服务端 是否多出如下显示) 服务端启动成功.P ...

  4. Unity3D Gamecenter 得分上传失败的处理

    Unity3DGamecenter 得分上传失败的处理. 常常会有种情况是,玩家在地铁或者飞机上没法通过wifi或者3G连接到服务器,从而会导致上传分数失败 解决方法: 这时候需要把得分存在Playe ...

  5. 记一次eureka客户端注册失败的问题

    最近老大给了一台新服务器,做测试用,从装软件开始,到把整个环境搭起来,因为之前没有完成搭过,所以费了几天时间,最后总算是成功跑起来了.昨天早上来更新下项目,在测试服务器上重新发布了一下,结果发现服务注 ...

  6. Subversion客户端接受服务器证书出现“The certificate hostname does not match”的问题

    当使用https://形式的URL连接Apache时,Subversion客户端将会受到两个类型的响应: 1.一个服务器证书 2.一个针对客户端证书的请求 在本人的应用场景主要涉及SVN仓库迁移的操作 ...

  7. unity3d 网页游戏客户端工程构建方案

    将一个项目分为两个编辑环境,一个是editor,一个是target. editor只是策划人员拖拖拽拽编辑场景,打包时程序自动将每个场景资源打包生成一个XXX.unity3d文件,并最后生成一个场景配 ...

  8. NBU客户端安装失败

    该服务器是阿里云上的centos6.8,是用来做oracle服务器,买来之后进行测试,发现没有安装图形化界面,还有部分包也没有安装.在oracle安装完成之后,尝试安装NBU的客户端,结果发生报错:T ...

  9. NFS客户端挂载失败之authenticated unmount request from

    1.故障现象 客户端挂载时夯住,无反应,无报错,如下图: 2.故障前对挂载目录的操作 发现故障前挂载目录被误删除,后通过备份分为恢复 3.故障排查步骤 .检查客户端及服务端防火墙规则 .检查selin ...

随机推荐

  1. libevent源码学习(9):事件event

    目录在event之前需要知道的event_baseevent结构体创建/注册一个event向event_base中添加一个event设置event的优先级激活一个event删除一个event获取指定e ...

  2. vue项目中Webpack-dev-server的proxy用法

    问题:在VUE项目中,需要请求后台接口获取数据,这时往往会出现跨域问题 解决方法:在vue.config.js中devServer配置proxy 常用的场景 1. 请求/api/XXX现在都会代理到请 ...

  3. 版本不兼容Jar包冲突该如何是好?

    一.引言 "老婆"和"妈妈"同时掉进水里,先救谁? 常言道:编码五分钟,解冲突两小时.作为Java开发来说,第一眼见到ClassNotFoundExceptio ...

  4. 【python】PyQt5 QAction 添加点击事件

    def test(): #your function ui.yourQActionName.triggered.connect(lambda:test()) #添加lambda: 就不报错了

  5. Spring Boot实战二:集成Mybatis

    Spring Boot集成Mybatis非常简单,在之前搭建好的项目中加入Mybatis依赖的jar,在配置文件中加入数据库配置即可,如下图所示: 创建对应的Controller.Service.Da ...

  6. RabbitMQ学习笔记六:RabbitMQ之消息确认

    使用消息队列,必须要考虑的问题就是生产者消息发送失败和消费者消息处理失败,这两种情况怎么处理. 生产者发送消息,成功,则确认消息发送成功;失败,则返回消息发送失败信息,再做处理. 消费者处理消息,成功 ...

  7. Improving Adversarial Robustness Using Proxy Distributions

    目录 概 主要内容 proxy distribution 如何利用构造的数据 Sehwag V., Mahloujifar S., Handina T., Dai S., Xiang C., Chia ...

  8. Generative Adversarial Nets (GAN)

    目录 目标 框架 理论 数值实验 代码 Generative Adversarial Nets 这篇文章,引领了对抗学习的思想,更加可贵的是其中的理论证明,证明很少却直击要害. 目标 GAN,译名生成 ...

  9. [python]MergeTxt按列合并同一个文件下多个txt文件

    开发需求:应项目需要,要将记录成txt的实验数据进行按列合并(也即为不同文件上下合并),从而进行机器学习训练. 实验数据类似如此 模拟验证数据 1.txt *****1***** abcdefghij ...

  10. CS5210完全替代AG6202|HDMI转VGA不带音频输出的芯片+原理图|替代兼容AG6202

    CS5210完全替代AG6202|HDMI转VGA不带音频输出的芯片+原理图|替代兼容AG6202 安格AG6202是一个HDMI转VGA不带音频解决方案,用于实现HDMI1.4高分辨率视频转VGA转 ...