/flutter_socket_io

Primary LanguageDartOtherNOASSERTION

adhara_socket_io

socket.io for flutter by adhara

supports both Android and iOS

Usage:

See example/lib/main.dart for better example

	Future<void> socketConfig() async {
		SocketIOManager manager = SocketIOManager();
		SocketIO socket = await manager.createInstance('http://192.168.1.2:7000/');       //TODO change the port  accordingly
		socket.onConnect((data){
		  print("connected...");
		  print(data);
		  socket.emit("message", ["Hello world!"]);
		});
		socket.on("news", (data){   //sample event
		  print("news");
		  print(data);
		});
		socket.connect();
		///disconnect using
		///manager.
	}

	socketConfig();

To request callback on ack:

  socket.emitWithAck("message", ["Hello world!"]).then( (data) {
    // this callback runs when this specific message is acknowledged by the server
    print(data);
  });

Running example:

  1. Open example/ios in XCode or example/android in android studio. Build the code once (cd example & flutter build apk | flutter build ios --no-codesign)

  2. cd example/socket.io.server

    1 run npm i

    2 run npm start

  3. open example/lib/main.dart and edit the URI in #7 to point to your hosted/local socket server instances as mentioned step 2

    For example:

    const String URI = "http://192.168.1.2:7000/";
    const String URI = "http://mysite.com/";
  4. run Android/iOS app

iOS support 📢📢

This project uses Swift for iOS support, please enable Swift support for your project for this plugin to work

Android support for SDK > 27

Configure android:usesCleartextTraffic="true" as a property of <application ...> tag in android/app/src/main/AndroidManifest.xml

For example:

<application
        android:name="io.flutter.app.FlutterApplication"
        android:label="adhara_socket_io_example"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"...>...</activity>

Refer to discussion here

Sample Video - Running the example

Running adhara socket io for flutter, example

FAQ's

AdharaSocketIoPlugin.m:2:9: fatal error: 'adhara_socket_io/adhara_socket_io-Swift.h' file not found

add use_frameworks! to your Podfile as in the example https://github.com/infitio/flutter_socket_io/blob/master/example/ios/Podfile#L30

Read more about this discussion

Other Packages:

Feel free to checkout our Adhara package