I. Writing ideas
The mobile phone end is the client, the PC is the server, and the mobile phone accesses the PC communication. A virtual communication link needs to be established. The client sends a request to the server through socket, and the server listens to socket requests from the client through serversocket, and generate a socket. In this way, a virtual communication network is established, and then communication is performed through relevant methods. The project must establish a java program on the server and an android program on the client.
Ii. Coding
(1) PC-side code writing-java program
(1) related methods
Socket accept (): If a connection request from the client socket is received, this method returns a socket corresponding to the connection client; otherwise, the method remains in the waiting state, the thread is also blocked.
Serversocket (int port): Use the specified port to create a serversocket. This port should be a valid port INTEGER: 0 -- 65535. Query the PC port: Enter the command line
Netstat-na: select the port that is not listed above.
(2) java code
Package com. myServer;
Import java. io. IOException;
Import java. io. OutputStream;
Import java.net. ServerSocket;
Import java.net. Socket;
Public class myServer {
/**
* @ Param args
*/
Public static void main (String [] args) throws IOException {
// TODO Auto-generated method stub
// Create a serversocket for listening to client socket connection requests
ServerSocket ss = new ServerSocket (3000 );
// Uses a loop to continuously accept requests from the client
While (true ){
// The server also generates a socket whenever a request is received from the client socket.
Socket s = ss. accept ();
OutputStream OS = s. getOutputStream ();
OS. write ("Hello, you have received the server's belief blessing \ n". getBytes ("UTF-8 "));
// Close the output stream and socket
OS. close ();
S. close ();
}
}
}
(2) android Program
(1) MainActivity. java
Package com. myServer;
Import java. io. IOException;
Import java. io. OutputStream;
Import java.net. ServerSocket;
Import java.net. Socket;
Public class myServer {
/**
* @ Param args
*/
Public static void main (String [] args) throws IOException {
// TODO Auto-generated method stub
// Create a serversocket for listening to client socket connection requests
ServerSocket ss = new ServerSocket (3000 );
// Uses a loop to continuously accept requests from the client
While (true ){
// The server also generates a socket whenever a request is received from the client socket.
Socket s = ss. accept ();
OutputStream OS = s. getOutputStream ();
OS. write ("Hello, you have received the server's belief blessing \ n". getBytes ("UTF-8 "));
// Close the output stream and socket
OS. close ();
S. close ();
}
}
}
(2) activity_main.xml
<LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android"
Xmlns: tools = "http://schemas.android.com/tools"
Android: id = "@ + id/LinearLayout1"
Android: layout_width = "match_parent"
Android: layout_height = "match_parent"
Android: orientation = "vertical"
Android: paddingBottom = "@ dimen/activity_vertical_margin"
Android: paddingLeft = "@ dimen/activity_horizontal_margin"
Android: paddingRight = "@ dimen/activity_horizontal_margin"
Android: paddingTop = "@ dimen/activity_vertical_margin"
Tools: context = ". MainActivity">
<EditText
Android: id = "@ + id/show"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
Android: editable = "false"
Android: cursorVisible = "false"
/>
</LinearLayout>
(3) AndroidManifest. xml
<? Xml version = "1.0" encoding = "UTF-8"?>
<Manifest xmlns: android = "http://schemas.android.com/apk/res/android"
Package = "com. myclient"
Android: versionCode = "1"
Android: versionName = "1.0" type = "codeph" text = "/codeph">
<Uses-sdk
Android: minSdkVersion = "8"
Android: targetSdkVersion = "14"/>
<Uses-permission android: name = "android. permission. INTERNET"/>
<Application
Android: allowBackup = "true"
Android: icon = "@ drawable/ic_launcher"
Android: label = "@ string/app_name"
Android: theme = "@ style/AppTheme">
<Activity
Android: name = "com. myclient. MainActivity"
Android: label = "@ string/app_name">
<Intent-filter>
<Action android: name = "android. intent. action. MAIN"/>
<Category android: name = "android. intent. category. LAUNCHER"/>
</Intent-filter>
</Activity>
</Application>
</Manifest>