Wednesday, 9 December 2015

วิธีการรวมไคลเอนต์ Socket.io จาวาใน App Android


จำเป็นต้องมีการดำเนินการ WebSockets ระหว่างAndroid  app และแอพลิเคชันเว็บได้อย่างมีประสิทธิภาพสตรีมข้อมูลที่เป็นข้อความแบบ real-time (ค่าที่มีการเปลี่ยนแปลงมากกว่า 10 ครั้งต่อวินาที .. หรือมากกว่า) ปกติใช้งานมากที่สุดเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้สาย http ซึ่งสร้างการเชื่อมต่อไปยังเซิร์ฟเวอร์การประมวลผลการร้องขอที่ให้การตอบสนองและการปิดการเชื่อมต่อ ปัญหานี้เป็นปัญหาสำหรับความต้องการของสตรีมมิ่งความเร็วสูงการเชื่อมต่อใหม่จะต้องมีการจัดตั้งขึ้นสำหรับแต่ละ "ชนิด" ของข้อมูลที่ส่ง นี้เป็นการสิ้นเปลืองและช้าต่อทรัพยากรของระบบ สิ่งที่ต้องการก็คือโปรโตคอลที่จะใช้สตรีมมิ่งอย่างต่อเนื่อง!

ใส่โปรโตคอล WebSockets ซึ่งจะช่วยให้การแลกเปลี่ยนเพล็กซ์อย่างต่อเนื่องระหว่างเซิร์ฟเวอร์และไคลเอนต์ (เว็บเบราว์เซอร์, อุปกรณ์มือถือ) ผ่านการเชื่อมต่อ TCP เดียว [ดูบทความนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงาน Sockets] ยังใส่ Socket.io ซึ่งเป็นส่วนขยาย Node.js ใช้โปรโตคอลใน WebSockets ง่ายต่อการใช้ในลักษณะนี้  !!

การอ้างอิงที่ถูกออกแบบมาให้ติดตั้งโดยใช้ Maven (หรือ Gradle) สร้างเครื่องมือ สำหรับคนที่ต้องการความสะดวกสบาย!

การใช้หลัก Maven  (และไม่ได้ใช้ Gradle ในขณะนี้) และไม่ใช้เวลาส่วนใหญ่ในการเขียนเพื่อให้ได้โปรแกรมAndroidที่จะสร้างclass (รวบรวมและติดตั้งการอ้างอิง) แต่ใช้ Maven ทุกครั้งที่เพิ่มในส่วนของ Maven โครงการAndroidกระบวนการรวบรวมซึ่งไม่สามารถอ่านได้และถูกทิ้งให้อยู่กับข้อผิดพลาดต่อไปนี้ ...

    06-14 18:39:53.185: E/AndroidRuntime(5551): Caused by: java.lang.
ClassNotFoundException: Didn’t find class “com.example.sockettest.MainActivity”
on path: DexPathList[[zip file “/data/app/com.example.sockettest-2/base.apk”]
,nativeLibraryDirectories=[/vendor/lib, /system/lib]]

ด้วยเหตุผลบางกรณี กิจกรรมAndroidไม่ได้ถูกรวมอยู่ใน apk  ดังกล่าวข้างต้นอาจจะได้รับการแก้ไขโดยการสร้างขึ้นอย่างระมัดระวังของไฟล์ pom.xml  (เห็นนี้โพสต์ SO) ถ้าจะเปลี่ยนระบบการสร้างจากปลั๊กอินAndroidเครื่องมือของนักพัฒนาที่Maven จะมีดังนี้

1. สร้าง (เฉพาะกิจการ) (Create a (separate) โครงการเริ่มต้นผู้เชี่ยวชาญในclassและเพิ่มเส้นทาง socket.io ผู้เชี่ยวชาญในส่วนการอ้างอิงของไฟล์ pom.xml ของคุณ

1    <dependencies>

2      <dependency>

3        <groupId>com.github.nkzawa</groupId>

4        <artifactId>socket.io-client</artifactId>

5        <version>0.5.1</version>

6      </dependency>

7    </dependencies>

คุณอาจต้องติดตั้งปลั๊กอินmaven eclipse ถ้าคุณไม่ได้ติดตั้ง Maven ดำเนินการติดตั้งและจะดาวน์โหลดทุกหัวข้อของ socket.io คุณจำเป็นต้องเก็บข้อมูลใน local maven repository โดยค่าเริ่มต้นพื้นที่เก็บข้อมูลในท้องถิ่นของคุณ Maven คือโฟลเดอร์ .m2 นี้:

    Unix / Mac OS X - ~ / .m2
    Windows - C: \ Documents and Settings \ {ชื่อผู้ใช้ของคุณ} \ m2.
2. ใช้การพึ่งพารายการที่ค้นหา(Using the dependency list)รายการที่ค้นหาทั้งหมดของการดาวน์โหลดมาแล้วคัดลอกไปยังโครงการAndroidของคุณไดเรกทอรี lib


3. ตอนนี้เพิ่มไฟล์(jaradd these jar files) เหล่านี้เพื่อสร้างเส้นทางของAndroid เลือกทั้งหมดโดยคลิกขวา> สร้างเส้นทาง> เพิ่มการสร้างเส้นทาง นี้ควรเพิ่มไฟล์ที่จำเป็นทั้งหมดให้กับโครงการของคุณและคุณจะถูกตั้งค่าทั้งหมดที่จะใช้ในการเรียก Socketio โครงการAndroidของคุณ - เชื่อมต่อกับซ็อกเก็ตฟังสำหรับข้อความข้อความออกอากาศ(broadcast messages) ฯลฯ และ presto !

การทำงานกับ Socket.io นั้นน่าสนใจมากที่สุดและเพื่อให้ห่างไกล ผมประหลาดใจในความเร็วและอัจฉริยะที่แท้จริงของการเขียนโปรแกรมซ็อกเก็ต Socket.io อย่างแท้จริง!
ที่มา http://denvycom.com

http://goo.gl/HxPgBo

>>>http://goo.gl/HxPgBo

0 ความคิดเห็น:

Post a Comment