All Projects → tradle → React Native Udp

tradle / React Native Udp

Licence: mit
node's dgram for react-native

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to React Native Udp

Ruffles
Lightweight and fully managed reliable UDP library.
Stars: ✭ 131 (-44.96%)
Mutual labels:  networking, udp
Quic.net
A .NET C# Implementation of QUIC protocol - Google's experimental transport layer.
Stars: ✭ 173 (-27.31%)
Mutual labels:  networking, udp
Ignorance
Ignorance utilizes the power of ENet to provide a reliable UDP networking transport for Mirror Networking.
Stars: ✭ 158 (-33.61%)
Mutual labels:  networking, udp
Objecttransport
Send and Receive objects over TCP or UDP
Stars: ✭ 39 (-83.61%)
Mutual labels:  networking, udp
Computer Networking
Free resources for a self-taught education in Computer Networking
Stars: ✭ 201 (-15.55%)
Mutual labels:  networking, udp
Netdynamics
Data-oriented networking playground for the reliable UDP transports
Stars: ✭ 65 (-72.69%)
Mutual labels:  networking, udp
Spitfire
An easy to use WebRTC Datachannels library for .NET applications.
Stars: ✭ 164 (-31.09%)
Mutual labels:  networking, udp
Libzt
ZeroTier Sockets - Put a network stack in your app
Stars: ✭ 486 (+104.2%)
Mutual labels:  networking, udp
Netcode.io.net
A pure managed C# implementation of the Netcode.IO spec
Stars: ✭ 201 (-15.55%)
Mutual labels:  networking, udp
Netlink
Socket and Networking Library using msgpack.org[C++11]
Stars: ✭ 197 (-17.23%)
Mutual labels:  networking, udp
Chill Netcat
UDP-only netcat implementation with OCaml / MirageOS
Stars: ✭ 13 (-94.54%)
Mutual labels:  networking, udp
Benchmarknet
Benchmark for testing the reliable UDP networking solutions
Stars: ✭ 206 (-13.45%)
Mutual labels:  networking, udp
Ngtcp2
ngtcp2 project is an effort to implement IETF QUIC protocol
Stars: ✭ 589 (+147.48%)
Mutual labels:  networking, udp
Udp Ue4
Convenience UDP wrapper for Unreal Engine 4
Stars: ✭ 94 (-60.5%)
Mutual labels:  networking, udp
Laminar
A simple semi-reliable UDP protocol for multiplayer games
Stars: ✭ 530 (+122.69%)
Mutual labels:  networking, udp
Litenetlib
Lite reliable UDP library for Mono and .NET
Stars: ✭ 2,179 (+815.55%)
Mutual labels:  networking, udp
Enet Csharp
Reliable UDP networking library
Stars: ✭ 464 (+94.96%)
Mutual labels:  networking, udp
Cnp3
Computer Networking : Principles, Protocols and Practice (first and second edition, third edition is being written on https://github.com/cnp3/ebook)
Stars: ✭ 471 (+97.9%)
Mutual labels:  networking, udp
Hazel Networking
Hazel Networking is a low level networking library for C# providing connection orientated, message based communication via TCP, UDP and RUDP.
Stars: ✭ 194 (-18.49%)
Mutual labels:  networking, udp
Mirror
#1 Open Source Unity Networking Library
Stars: ✭ 2,905 (+1120.59%)
Mutual labels:  networking, udp

react-native-udp

React Native UDP socket API for Android & iOS. It allows you to create UDP sockets, imitating Node's dgram API functionalities (check each method documentation for more information).

This module is used by Tradle.

Table of Contents

Getting started

Install the library using either Yarn:

yarn add react-native-udp

or npm:

npm install --save react-native-udp

Using React Native >= 0.60

Linking the package manually is not required anymore with Autolinking.

  • iOS Platform:

    $ cd ios && pod install && cd .. # CocoaPods on iOS needs this extra step

Using React Native < 0.60

You then need to link the native parts of the library for the platforms you are using. The easiest way to link the library is using the CLI tool by running this command from the root of your project:

$ react-native link react-native-udp

If you can't or don't want to use the CLI tool, you can also manually link the library using the instructions below (click on the arrow to show them):

Manually link the library on iOS
  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-udp and add UdpSockets.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libUdpSockets.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<
Manually link the library on Android
  1. Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.tradle.react.UdpSocketsModule; to the imports at the top of the file
  • Add new UdpSocketsModule() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-udp'
    project(':react-native-udp').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-udp/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle: compile project(':react-native-udp')

React Native Compatibility

React Native Version Use Version
<=0.59.10 <=2.7.0
>=0.60.0 >=3.0.0

Usage

see/run index.js for a complete example, but the interface is like dgram's

import dgram from 'react-native-udp'

const socket = dgram.createSocket('udp4')
socket.bind(12345)
socket.once('listening', function() {
  socket.send('Hello World!', undefined, undefined, remotePort, remoteHost, function(err) {
    if (err) throw err

    console.log('Message sent!')
  })
})

socket.on('message', function(msg, rinfo) {
  console.log('Message received', msg)
})

Debugging

To log all info emitted from the socket, add debug option when creating the socket:

const socket = dgram.createSocket({
  type: 'udp4',
  debug: true,
})

Maintainers

License

The library is released under the MIT license. For more information see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].