Giter Site home page Giter Site logo

Comments (3)

chronoxor avatar chronoxor commented on May 26, 2024

Yes, it possible to do with a help of FBE. Please see the example:

from netcoreserver.

tharwat202020 avatar tharwat202020 commented on May 26, 2024

thanks for the answer
but really i could not use it to send my models in the method of send(object);
would you please help me with this to show me a simple example

from netcoreserver.

chronoxor avatar chronoxor commented on May 26, 2024

You can serialize your data and send byte buffer using Send()/SendAsyc() methods in every TcpSession/SslSession/WsSession and TcpClient/SslClient/WsClient:

        public virtual long Send(byte[] buffer);
        public virtual long Send(byte[] buffer, long offset, long size);
        public virtual long Send(ReadOnlySpan<byte> buffer);

        public virtual long SendAsync(byte[] buffer);
        public virtual long SendAsync(byte[] buffer, long offset, long size);
        public virtual long SendAsync(ReadOnlySpan<byte> buffer);

SendAsync() will not block you, it will store data in send buffer and send later asynchronously.

Sample code to serialize/deserialize will be something like this:

public class MyClass {

   public int Id { get; set; }
   public string Name { get; set; }

   public byte[] Serialize() {
      using (MemoryStream m = new MemoryStream()) {
         using (BinaryWriter writer = new BinaryWriter(m)) {
            writer.Write(Id);
            writer.Write(Name);
         }
         return m.ToArray();
      }
   }

   public static MyClass Desserialize(byte[] data) {
      MyClass result = new MyClass();
      using (MemoryStream m = new MemoryStream(data)) {
         using (BinaryReader reader = new BinaryReader(m)) {
            result.Id = reader.ReadInt32();
            result.Name = reader.ReadString();
         }
      }
      return result;
   }
}

from netcoreserver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.