Android connects to the server (PC) through socket)

Source: Internet
Author: User

Server

Package COM. test; </P> <p> Import Java. io. bufferedreader; <br/> Import Java. io. bufferedwriter; <br/> Import Java. io. file; <br/> Import Java. io. fileoutputstream; <br/> Import Java. io. inputstreamreader; <br/> Import Java. io. outputstreamwriter; <br/> Import Java. io. printwriter; <br/> Import java.net. serversocket; <br/> Import java.net. socket; </P> <p> public class server implements runnable {<br/> Public static final string serverip = "10.0.2.2 "; <br/> Public static final int SERVERPORT = 51706; </P> <p> Public void run () {<br/> try {<br/> system. out. println ("s: Connecting... "); </P> <p> serversocket = new serversocket (SERVERPORT); <br/> while (true) {</P> <p> // wait for receiving client requests <br/> Socket Client = serversocket. accept (); </P> <p> system. out. println ("s: inserting ing... "); </P> <p> try {</P> <p> // accept client information <br/> bufferedreader in = new bufferedreader (<br/> New inputstreamreader (client. getinputstream (); </P> <p> Socket socket = NULL; </P> <p> // send a message <br/> printwriter out = new printwriter (New bufferedwriter (New outputstreamwriter (client. getoutputstream (), true); </P> <p> // set the returned information <br/> out. println ("My name is server"); <br/> out. flush (); </P> <p> string STR = in. readline (); <br/> file = new file ("C: // file // android.txt"); <br/> fileoutputstream fops = new fileoutputstream (File ); <br/> byte [] B = Str. getbytes (); <br/> for (INT I = 0; I <B. length-1; I ++) <br/>{< br/> fops. write (B [I]); <br/> system. out. println (B. tostring (); <br/>}</P> <p> system. out. println ("s: pinned ed: '" + STR + "'"); </P> <p >}catch (exception e) {</P> <p> system. out. println ("s: error"); </P> <p> E. printstacktrace (); </P> <p >}finally {</P> <p> client. close (); </P> <p> system. out. println ("s: Done. "); </P> <p >}</P> <p >}catch (exception E) {</P> <p> system. out. println ("s: error"); </P> <p> E. printstacktrace (); </P> <p >}</P> <p> Public static void main (string [] ARGs) {</P> <p> thread threads topserverthread = new thread (new server (); </P> <p> threads topserverthread. start (); </P> <p >}< br/>}

 

Client

Package COM. LDE; </P> <p> Import Java. io. bufferedreader; <br/> Import Java. io. bufferedwriter; <br/> Import Java. io. inputstreamreader; <br/> Import Java. io. outputstreamwriter; <br/> Import Java. io. printwriter; <br/> Import java.net. inetaddress; <br/> Import java.net. serversocket; <br/> Import java.net. socket; </P> <p> Import android. app. activity; <br/> Import android. OS. bundle; <br/> Import android. util. log; <br/> Import android. view. view; <br/> Import android. view. view. onclicklistener; <br/> Import android. widget. button; <br/> Import android. widget. edittext; <br/> Import android. widget. textview; </P> <p> public class socket_android extends activity {</P> <p> private textview mtextview = NULL; <br/> private edittext medittext = NULL; <br/> private textview tx1 = NULL; </P> <p> private button mbutton = NULL; </P> <p>/** Cal Led when the activity is first created. */<br/> @ override <br/> Public void oncreate (bundle savedinstancestate) {<br/> super. oncreate (savedinstancestate); <br/> setcontentview (R. layout. main); </P> <p> mbutton = (button) findviewbyid (R. id. button01); <br/> medittext = (edittext) findviewbyid (R. string. edittext01); <br/> mtextview = (textview) findviewbyid (R. string. textview01); <br/> tx1 = (textview) Findviewbyid (R. id. TX); </P> <p> mbutton. setonclicklistener (New onclicklistener () {<br/> Public void onclick (view v) {<br/> settitle ("abcdefg"); <br/> Socket socket = NULL; <br/> try {</P> <p> // specify the IP address of the server <br/> inetaddress serveraddr = inetaddress. getbyname ("10.0.2.2"); // tcpserver. serverip </P> <p> log. D ("TCP", "C: Connecting... "); </P> <p> // create a socket object using the IP address and port of the application server <br/> socket = new socket (serverad Dr, 51706); <br/> string message = "--- test_socket_android ---"; </P> <p> log. D ("TCP", "C: sending: '" + message + "'"); </P> <p> // send information to the server through this object <br/> printwriter out = new printwriter (New bufferedwriter (<br/> New outputstreamwriter (socket. getoutputstream (), <br/> true ); </P> <p> // accept Server Information <br/> bufferedreader in = new bufferedreader (<br/> New inputstreamreader (socket. getinputstream (); <br/> // get the server Server Information <br/> string MSG = in. readline (); <br/> // display on the page <br/> tx1.settext (MSG); </P> <p> out. println (MSG); <br/> out. flush (); </P> <p >}catch (exception e) {</P> <p> log. E ("TCP", "s: error", e ); <br/>} finally {<br/> try {<br/> // serversocket = new serversocket (51706); <br/> // Socket Client = serversocket. accept (); <br/> // bufferedreader in = new bufferedreader (<br/> // new inputstreamreade R (client. getinputstream (); <br/> // string STR = in. readline (); <br/>/// tx1.settext ("123"); </P> <p> // system. out. println ("s: pinned ed: '" + STR + "'"); <br/> // system. out. println ("s: pinned ed: '" + STR + "'"); </P> <p> socket. close (); <br/>}catch (exception e) {<br/> // todo auto-generated Catch Block <br/> E. printstacktrace (); <br/>}</P> <p> ); <br/>}< br/> // publi C void () throws ioexception <br/> // {<br/> /// specify the Server IP address <br/> // inetaddress serveraddr = <br/> // inetaddress. getbyname ("110.149"); // tcpserver. serverip <br/> // log. D ("TCP", "C: Connecting... "); <br/> // create a socket object using the IP address and port of the application server <br/> // Socket socket = new socket (serveraddr, 51706); <br/> // string message = "androidres, where is my pig (Android )? "; <Br/> // try {<br/> // log. D ("TCP", "C: sending: '" + message + "'"); <br/> // <br/> /// send information to the server through this object <br/> // printwriter out = new printwriter (New bufferedwriter (New <br //> // outputstreamwriter (socket. getoutputstream (), true); <br/> // out. println (Message); <br/> //} catch (exception e) {<br/> // log. E ("TCP", "s: error", e); <br/>/} finally {<br/> // socket. close (); <br/>/}< br/>///} </P> <p>}

 

R. Java

 

/* Auto-generated file. do not modify. <br/> * This class was automatically generated by the <br/> * aapt tool from the resource data it found. it <br/> * shocould not be modified by hand. <br/> */</P> <p> package COM. LDE; </P> <p> Public final class r {<br/> Public static final class ATTR {<br/>}< br/> Public static final class drawable {<br/> Public static final int icon = 0x7f020000; <br/>}< br/> Public static final class ID {<br/> Public static final int button01 = 0x7f050000; <br/> Public static final int Tx = 0x7f050001; <br/>}< br/> Public static final class layout {<br/> Public static final int main = 0x7f030000; <br/>}< br/> Public static final class string {<br/> Public static final int button01 = 0x7f040003; <br/> Public static final int edittext01 = 0x7f040004; <br/> Public static final int textview01 = 0x7f040002; <br/> Public static final int app_name = 0x7f040001; <br/> Public static final int Hello = 0x7f040000; <br/>}< br/>

 

Main. xml

 

<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android" <br/> Android: Orientation = "vertical" <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "fill_parent" <br/> <! -- <Br/> <textview <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: TEXT = "@ string/Hello" <br/> --> <br/> <textview <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: TEXT = "@ string/textview01"/> </P> <p> <edittext <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: text = "@ string/edittext01"/> </P> <p> <button <br/> Android: id = "@ + ID/button01" <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: TEXT = "@ string/button01"/> <br/> <textview Android: Id = "@ + ID/TX" <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content"/> <br/> </linearlayout> <br/>

 

String. xml

 

<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <resources> <br/> <string name = "hello"> Hello world, socket_android! </String> <br/> <string name = "app_name"> socket_android </string> <br/> <string name = "textview01"> the content shown here is information </string> <br/> <string name = "button01"> test connection </string> <br/> <string name = "edittext01"> enter content </ string> <br/> </resources> <br/>

 

 

Androidmanifest. xml

 

<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <manifest xmlns: Android = "http://schemas.android.com/apk/res/android" <br/> package = "com. LDE "<br/> Android: versioncode =" 1 "<br/> Android: versionname =" 1.0 "> <br/> <uses-SDK Android: minsdkversion = "5"/> </P> <p> <application Android: icon = "@ drawable/icon" Android: label = "@ string/app_name"> <br/> <activity Android: Name = ". socket_android "<br/> Android: Label =" @ string/app_name "> <br/> <intent-filter> <B R/> <action Android: Name = "android. intent. action. main "/> <br/> <category Android: Name =" android. intent. category. launcher "/> <br/> </intent-filter> <br/> </activity> <br/> </Application> <br/> <! -- Be sure to add the following sentence to set the permission for it --> <br/> <uses-Permission Android: Name = "android. permission. internet "/> <br/> </manifest>

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.