hetimanetは、chrome用のsocket機能のみ提供していましたが、新たに、dart:ioに対応しました。hetimanetはdart用のライブラリです。
下記、機能に対応しています。
- UDP
- TCP
- Http Server
- Http Client
- UPnP Portmap
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import 'package:hetimanet/hetimanet.dart'; import 'package:hetimanet/hetimanet_dartio.dart'; // // main() async { HetiSocketBuilderDartIO builder = new HetiSocketBuilderDartIO(); UpnpPortMapHelper helper = new UpnpPortMapHelper(builder, "test"); // // get network interface List<HetiNetworkInterface> interfaces = await builder.getNetworkInterfaces(); for (HetiNetworkInterface i in interfaces) { print("<ni>${i.address} ${i.prefixLength} ${i.name}"); } // // portmapping try { StartGetExternalIp exip = await helper.startGetExternalIp(reuseRouter: true); print("<exip> ${exip.externalIp}"); } catch (e) { print("<exip ERROR> ${e}"); } // // get local ip try { StartGetLocalIPResult loip = await helper.startGetLocalIp(); for(HetiNetworkInterface i in loip.networkInterface) { print("<glip> ${i.address} ${i.name}"); } } catch (e) { print("<glip ERROR> ${e}"); } // // start portmap try { StartPortMapResult sp = await helper.startPortMap(); print("<add> ${sp}"); } catch (e) { print("<add ERROR> ${e}"); } // // end portmap try { DeleteAllPortMapResult ep = await helper.deletePortMapFromAppIdDesc(); print("<del> ${ep}"); } catch (e) { print("<del ERROR> ${e}"); } } |
Source
- https://github.com/kyorohiro/dart_hetimanet- https://github.com/kyorohiro/dart_hetimanet/tree/master/example/HetimaPortMap
Port map chrome app
- Chrome Store
https://chrome.google.com/webstore/detail/hetimaportmap/naifildeohmcocnmibaampijofhcohif--------------
kyorohiro work
http://kyorohiro.strikingly.com
0 件のコメント:
コメントを投稿