zoukankan      html  css  js  c++  java
  • 使用Socket对序列化数据进行传输(基于C#)

    客户端代码

    [Serializable] // 表示该类可以被序列化
    class Person
    {
    public string name;

    public void HI()
    {
    Debug.Log(name);
    }
    }

    public class NewSocketClient : MonoBehaviour {

    void Start () {

    Person p = new Person();
    p.name = "Lz";
    Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    IPEndPoint point = new IPEndPoint(IPAddress.Parse("10.6.0.78"), 5684);
    BinaryFormatter bf = new BinaryFormatter(); //创建序列化对象
    client.Connect(point); //连接服务器

    MemoryStream ms = new MemoryStream(); //创建内存流对象
    bf.Serialize(ms, p); //将p序列化到内存流中

    client.Send(ms.GetBuffer(),(int)ms.Length,SocketFlags.None);// 发送,长度为内存流中数据的长度


    }
    }

    服务器代码

    [Serializable] // 表示该类可以被序列化
    class Person
    {
    public string name;

    public void HI()
    {
    Debug.Log(name);
    }
    }

    public class NewSocketServer : MonoBehaviour
    {

    Socket server_Socket;

    void Start()
    {
    server_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    IPEndPoint point = new IPEndPoint(IPAddress.Any, 5684);

    server_Socket.Bind(point);

    server_Socket.Listen(10);

    Thread acThread = new Thread(AcThread);

    acThread.Start();
    }


    void AcThread()
    {

    Socket clientSocket = server_Socket.Accept(); //等待客户端连接

    byte[] buffer = new byte[1024 * 1024];

    int len = clientSocket.Receive(buffer);

    MemoryStream memory = new MemoryStream();

    BinaryFormatter bf = new BinaryFormatter();

    memory.Write(buffer, 0, len);
    memory.Flush();
    memory.Position = 0;

    Person p = bf.Deserialize(memory) as Person;
    p.HI();

    }


    }

    本博客所有内容均为原创,转载请注明出处.
  • 相关阅读:
    tera term通过ttl脚本 自动连接服务器
    shell脚本生成xml文件
    MarkDown语法练习笔记
    linux nkf 日文编码转换命令[转载]
    Shell脚本传递带有空格的参数[摘录自网络]
    JavaScript思维导图—函数基础
    JavaScript思维导图—运算符
    JavaScript思维导图—数组
    JavaScript思维导图—流程控制
    JavaScript思维导图—正则表达式
  • 原文地址:https://www.cnblogs.com/what-lee/p/8496966.html
Copyright © 2011-2022 走看看