Skip to content

Commit ae3c2d8

Browse files
author
Deng
committed
add socket server
1 parent efce26b commit ae3c2d8

17 files changed

Lines changed: 1329 additions & 574 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ dependencies {
2727
VDSocketClient socketClient = new VDSocketClient();
2828
socketClient.registerDelegate(new VDSocketClient.VDSocketClientDelegate() {
2929
@Override
30-
public void didConnect(VDSocketClient client) {
30+
public void onConnected(VDSocketClient client) {
3131

3232
}
3333

3434
@Override
35-
public void didDisconnect(VDSocketClient client) {
35+
public void onDisconnected(VDSocketClient client) {
3636

3737
}
3838

3939
@Override
40-
public void didReceiveResponse(VDSocketClient client, String response) {
40+
public void onResponse(VDSocketClient client, String response) {
4141

4242
}
4343
});

app/app.iml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@
6969
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/debug" />
7070
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
7171
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
72-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/jars" />
73-
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.0.0/jars" />
72+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars" />
73+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars" />
7474
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
7575
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
7676
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
@@ -83,9 +83,9 @@
8383
</content>
8484
<orderEntry type="jdk" jdkName="Android API 23 Platform (1)" jdkType="Android SDK" />
8585
<orderEntry type="sourceFolder" forTests="false" />
86-
<orderEntry type="library" exported="" name="appcompat-v7-23.0.0" level="project" />
87-
<orderEntry type="library" exported="" name="support-v4-23.0.0" level="project" />
88-
<orderEntry type="library" exported="" name="support-annotations-23.0.0" level="project" />
86+
<orderEntry type="library" exported="" name="support-v4-23.1.1" level="project" />
87+
<orderEntry type="library" exported="" name="support-annotations-23.1.1" level="project" />
88+
<orderEntry type="library" exported="" name="appcompat-v7-23.1.1" level="project" />
8989
<orderEntry type="module" module-name="socketclient" exported="" />
9090
</component>
9191
</module>

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
android:allowBackup="true"
77
android:icon="@mipmap/ic_launcher"
88
android:label="@string/app_name"
9-
android:theme="@style/AppTheme" >
9+
android:theme="@style/AppTheme"
10+
android:name=".App"
11+
>
1012
<activity
1113
android:name=".MainActivity"
1214
android:label="@string/app_name" >
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.vilyever.androidsocketclient;
2+
3+
import android.app.Application;
4+
5+
import com.vilyever.logger.LoggerDisplay;
6+
7+
/**
8+
* App
9+
* AndroidSocketClient <com.vilyever.androidsocketclient>
10+
* Created by vilyever on 2016/3/30.
11+
* Feature:
12+
*/
13+
public class App extends Application {
14+
final App self = this;
15+
16+
17+
/* Constructors */
18+
19+
20+
/* Public Methods */
21+
22+
23+
/* Properties */
24+
25+
26+
/* Overrides */
27+
28+
@Override
29+
public void onCreate() {
30+
super.onCreate();
31+
32+
LoggerDisplay.initialize(this);
33+
}
34+
35+
/* Delegates */
36+
37+
38+
/* Private Methods */
39+
40+
}
Lines changed: 87 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,116 @@
11
package com.vilyever.androidsocketclient;
22

3-
import android.support.v7.app.AppCompatActivity;
43
import android.os.Bundle;
5-
import android.view.Menu;
6-
import android.view.MenuItem;
4+
import android.support.annotation.NonNull;
5+
import android.support.v7.app.AppCompatActivity;
76

8-
import com.vilyever.socketclient.VDSocketClient;
7+
import com.vilyever.logger.Logger;
8+
import com.vilyever.socketclient.SocketClient;
9+
import com.vilyever.socketclient.server.SocketServer;
10+
import com.vilyever.socketclient.server.SocketServerClient;
11+
import com.vilyever.socketclient.util.IPUtil;
912

1013
public class MainActivity extends AppCompatActivity {
14+
final MainActivity self = this;
15+
16+
private SocketServer socketServer;
17+
protected SocketServer getSocketServer() {
18+
if (this.socketServer == null) {
19+
this.socketServer = new SocketServer(2333);
20+
}
21+
return this.socketServer;
22+
}
23+
24+
private SocketClient localSocketClient;
25+
protected SocketClient getLocalSocketClient() {
26+
if (this.localSocketClient == null) {
27+
this.localSocketClient = new SocketClient("192.168.1.153", 2333);
28+
}
29+
return this.localSocketClient;
30+
}
31+
32+
private SocketServerClient serverListeningSocketServerClient;
33+
protected MainActivity setServerListeningSocketServerClient(SocketServerClient serverListeningSocketServerClient) {
34+
this.serverListeningSocketServerClient = serverListeningSocketServerClient;
35+
return this;
36+
}
37+
protected SocketClient getServerListeningSocketServerClient() {
38+
return this.serverListeningSocketServerClient;
39+
}
1140

1241
@Override
1342
protected void onCreate(Bundle savedInstanceState) {
1443
super.onCreate(savedInstanceState);
1544
setContentView(R.layout.activity_main);
1645

17-
VDSocketClient socketClient = new VDSocketClient();
18-
socketClient.registerDelegate(new VDSocketClient.VDSocketClientDelegate() {
46+
getSocketServer().registerSocketServerDelegate(new SocketServer.SocketServerDelegate() {
1947
@Override
20-
public void didConnect(VDSocketClient client) {
48+
public void onClientConnected(SocketServer socketServer, SocketServerClient socketServerClient) {
49+
System.out.println("socketServer onClientConnected");
50+
51+
self.setServerListeningSocketServerClient(socketServerClient);
52+
socketServerClient.registerSocketDelegate(new SocketClient.SocketDelegate() {
53+
@Override
54+
public void onConnected(SocketClient client) {
2155

56+
}
57+
58+
@Override
59+
public void onDisconnected(SocketClient client) {
60+
System.out.println("serverListeningSocketServerClient onDisconnected");
61+
}
62+
63+
@Override
64+
public void onResponse(SocketClient client, @NonNull String response) {
65+
System.out.println("serverListeningSocketServerClient onResponse \n" + response);
66+
}
67+
});
2268
}
2369

2470
@Override
25-
public void didDisconnect(VDSocketClient client) {
71+
public void onClientDisconnected(SocketServer socketServer, SocketServerClient socketServerClient) {
72+
System.out.println("socketServer onClientDisconnected");
73+
self.setServerListeningSocketServerClient(null);
74+
}
75+
});
76+
getSocketServer().beginListen();
77+
getSocketServer().setHeartBeatInterval(1000 * 120);
2678

79+
getLocalSocketClient().registerSocketDelegate(new SocketClient.SocketDelegate() {
80+
@Override
81+
public void onConnected(SocketClient client) {
82+
System.out.println("localSocketClient onConnected");
2783
}
2884

2985
@Override
30-
public void didReceiveResponse(VDSocketClient client, String response) {
86+
public void onDisconnected(SocketClient client) {
87+
System.out.println("localSocketClient onDisconnected");
88+
}
3189

90+
@Override
91+
public void onResponse(SocketClient client, @NonNull String response) {
92+
System.out.println("localSocketClient onResponse \n" + response);
3293
}
3394
});
34-
socketClient.connect("192.168.1.1", 80);
35-
}
3695

37-
@Override
38-
public boolean onCreateOptionsMenu(Menu menu) {
39-
// Inflate the menu; this adds items to the action bar if it is present.
40-
getMenuInflater().inflate(R.menu.menu_main, menu);
41-
return true;
42-
}
96+
getLocalSocketClient().connect();
97+
98+
getWindow().getDecorView().postDelayed(new Runnable() {
99+
@Override
100+
public void run() {
101+
getLocalSocketClient().send("haha test");
102+
}
103+
}, 15 * 1000);
104+
getWindow().getDecorView().postDelayed(new Runnable() {
105+
@Override
106+
public void run() {
107+
// getLocalSocketClient().send(SocketPacket.DefaultPollingQueryMessage);
108+
getLocalSocketClient().disconnect();
109+
}
110+
}, 30 * 1000);
43111

44-
@Override
45-
public boolean onOptionsItemSelected(MenuItem item) {
46-
// Handle action bar item clicks here. The action bar will
47-
// automatically handle clicks on the Home/Up button, so long
48-
// as you specify a parent activity in AndroidManifest.xml.
49-
int id = item.getItemId();
50-
51-
//noinspection SimplifiableIfStatement
52-
if (id == R.id.action_settings) {
53-
return true;
54-
}
55112

56-
return super.onOptionsItemSelected(item);
113+
Logger.log("ip " + IPUtil.getIPAddress(true));
57114
}
115+
58116
}

socketclient/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ android {
55
buildToolsVersion "23.0.0"
66

77
defaultConfig {
8-
minSdkVersion 9
8+
minSdkVersion 16
99
targetSdkVersion 23
1010
versionCode 1
1111
versionName "${release_version}"
@@ -21,6 +21,9 @@ android {
2121
dependencies {
2222
compile fileTree(dir: 'libs', include: ['*.jar'])
2323
compile 'com.android.support:appcompat-v7:23.0.0'
24+
25+
compile 'com.github.vilyever:AndroidResource:1.2.0'
26+
compile 'com.github.vilyever:AndroidLogger:1.0.0'
2427
}
2528

2629
apply plugin: 'com.github.dcendents.android-maven'

socketclient/socketclient.iml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.id=":socketclient" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="com.github.vilyever" external.system.module.version="1.1.0" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":socketclient" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="com.github.vilyever" external.system.module.version="1.1.1" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -80,8 +80,13 @@
8080
</content>
8181
<orderEntry type="jdk" jdkName="Android API 23 Platform (1)" jdkType="Android SDK" />
8282
<orderEntry type="sourceFolder" forTests="false" />
83-
<orderEntry type="library" exported="" name="appcompat-v7-23.0.0" level="project" />
84-
<orderEntry type="library" exported="" name="support-v4-23.0.0" level="project" />
85-
<orderEntry type="library" exported="" name="support-annotations-23.0.0" level="project" />
83+
<orderEntry type="library" exported="" name="recyclerview-v7-23.1.1" level="project" />
84+
<orderEntry type="library" exported="" name="AndroidLogger-1.0.0" level="project" />
85+
<orderEntry type="library" exported="" name="support-v4-23.1.1" level="project" />
86+
<orderEntry type="library" exported="" name="AndroidResource-1.2.0" level="project" />
87+
<orderEntry type="library" exported="" name="AndroidContextHolder-1.1.0" level="project" />
88+
<orderEntry type="library" exported="" name="support-annotations-23.1.1" level="project" />
89+
<orderEntry type="library" exported="" name="appcompat-v7-23.1.1" level="project" />
90+
<orderEntry type="library" exported="" name="design-23.1.1" level="project" />
8691
</component>
8792
</module>

socketclient/src/main/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.vilyever.vdsocketclient">
2+
package="com.vilyever.socketclient">
3+
4+
<uses-permission android:name="android.permission.INTERNET" />
35

46
<application android:allowBackup="true" android:label="@string/app_name">
57

0 commit comments

Comments
 (0)