Find the services other devices advertise on the local network (printers, speakers, cameras, your own servers) and advertise your own, on iOS, Android, macOS, tvOS and Windows.
yarn add react-native-zeroconf
cd ios && pod install1.0 release candidate: one C++ native module on every platform, for React Native 0.82 and later (New Architecture, Expo SDK 55 and later). Try it with
npm install react-native-zeroconf@next, see what changes from 0.17. The documentation covers 0.17, which stays the default and keeps getting bug fixes.
On iOS, declare the service types you use in NSBonjourServices, see Permissions and Setup. Expo works with development builds, see Installation with Expo.
import { useZeroconf } from 'react-native-zeroconf'
function Printers() {
const { services } = useZeroconf({ type: 'ipp' })
return services.map(service => (
<Text key={service.name}>
{service.name} {service.ipv4[0]}:{service.port}
</Text>
))
}Without React:
import Zeroconf from 'react-native-zeroconf'
const zeroconf = new Zeroconf()
zeroconf.on('resolved', service => console.log(service.name, service.host, service.port))
zeroconf.scan({ type: 'http' })- Getting started: Installation, Permissions and Setup
- Guides: Scanning, Publishing, React Integration, Error Handling
- Reference: API Reference, Errors, Platform Support
- Android: Android Implementations, Android Emulator
- Help: Troubleshooting and FAQ, Migration Guide
- Project: Contributing, example app
MIT, see LICENSE. Includes RxDNSSD (Apache 2.0, see NOTICE) and Apple's mDNSResponder (mostly Apache 2.0, see its LICENSE).
