MCPcopy Index your code
hub / github.com/socketio/socket.io / App

Class App

examples/react-native/App.js:7–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5const socket = io("192.168.0.28:3000"); // replace with the IP of your server, when testing on real devices
6
7export default class App extends Component {
8 constructor(props) {
9 super(props);
10 this.state = {
11 connected: socket.connected,
12 currentTransport: socket.connected ? socket.io.engine.transport.name : '-',
13 lastMessage: ""
14 };
15 }
16
17 componentDidMount() {
18 socket.on('connect', () => this.onConnectionStateUpdate());
19 socket.on('disconnect', () => this.onConnectionStateUpdate());
20 socket.on('message', (content) => this.onMessage(content));
21 }
22
23 componentWillUnmount() {
24 socket.off('connect');
25 socket.off('disconnect');
26 socket.off('message');
27 }
28
29 onConnectionStateUpdate() {
30 this.setState({
31 connected: socket.connected,
32 currentTransport: socket.connected ? socket.io.engine.transport.name : '-'
33 });
34 if (socket.connected) {
35 socket.io.engine.on('upgrade', () => this.onUpgrade());
36 } else {
37 socket.io.engine.off('upgrade');
38 }
39 }
40
41 onMessage(content) {
42 this.setState({
43 lastMessage: content
44 });
45 }
46
47 onUpgrade() {
48 this.setState({
49 currentTransport: socket.io.engine.transport.name
50 });
51 }
52
53 render() {
54 return (
55 <View style={styles.container}>
56 <Text>State: { this.state.connected ? 'Connected' : 'Disconnected' }</Text>
57 <Text>Current transport: { this.state.currentTransport }</Text>
58 <Text>Last message: { this.state.lastMessage }</Text>
59 </View>
60 );
61 }
62}
63
64const styles = StyleSheet.create({

Callers 1

uws.tsFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected