mocket
Release for testing on android things
Lightweight, Typesafe, Reliable, Guaranty delivery, Ordered, High performant java nio sockets build
on top of udp.
كما هو موضح أدناه:
< project >
...
< repositories >
...
< repository >
< id >jitpack.io</ id >
< url >https://jitpack.io</ url >
</ repository >
</ repositories >
</ project >
< dependencies >
...
< dependency >
< groupId >com.github.Nishant-Pathak</ groupId >
< artifactId >mocket</ artifactId >
< version >v1.0</ version >
</ dependency >
</ dependencies >
allprojects {
repositories {
.. .
maven { url ' https://jitpack.io ' }
}
}
dependencies {
compile ' com.github.Nishant-Pathak:mocket:v1.0 '
}
لبناء الخادم:
ServerBuilder < byte []> serverBuilder = new ServerBuilder < byte []>()
. port ( serverPort );
Server < byte []> server = serverBuilder . build ();
للقراءة:
while ( true ) {
// blocking read
Pair < SocketAddress , byte []> readBytes = server . read ();
}
للكتابة:
// write to server
server . write ( read . getSecond (), read . getFirst ());
كتابة التوقيع:
/**
* writed data to the given address
* @param data to send to addredd
* @param address of the client connected
* @throws IOException if error occurs while writing to the socket
* @throws InterruptedException if write is interrupted
*/
void write ( T data , SocketAddress address ) throws IOException , InterruptedException ;
لبناء العميل:
ClientBuilder < byte []> builder = new ClientBuilder < byte []>()
. host ( "127.0.0.1" , 8080 );
Client < byte []> client = builder . build ();
للقراءة:
// blocking read
byte [] data = client . read ();
للكتابة:
client . write ( data );
كتابة التوقيع:
/**
* write object of type T on the wire
* it used @{@link com.network.mocket.handler.MocketStreamHandler} to parse the object
* @param data object to send on wire to the server.
* @throws IOException if error occurs while writing to the socket
* @throws InterruptedException if write is interrupted
*/
void write ( T data ) throws IOException , InterruptedException ;
قم بتنفيذ واجهة جافا وإضافتها إلى منشئ العميل والخادم كـ
builder . addHandler ( new MyCustomHandler ())
public interface MocketStreamHandler < P > {
/**
* Used to encode object to byte stream
* @param in inout object of tye {P}
* @return byte array representing object
* @throws ParseException throws if fails to encode or decode
*/
byte [] encode ( P in ) throws ParseException ;
/**
* Used to decode bytestream to object
* @param out inout object of tye {P}
* @return byte array representing object
* @throws ParseException throws if fails to encode or decode
*/
P decode ( byte [] out ) throws ParseException ;
}
يمكن العثور على نموذج عميل الخادم هنا كمثال.
*قد تقوم بعض البوابات بحظر حركة مرور UDP.
يسعدني جدًا قبول المساهمات الخارجية للمشروع في شكل تعليقات وتقارير أخطاء وحتى أفضل - طلبات السحب :)
إذا كنت ترغب في إرسال طلب سحب، فيرجى بذل جهد لاتباع الدليل الموجود في CONTRIBUTING.md.
حقوق الطبع والنشر (C) 2016 - 2017 نيشانت باثاك
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.