CS185c
Chris Pollett
Oct. 7, 2009
GET / HTTP/1.0 newline newline
HTTP/1.1 200 OK Date: Wed, 07 Oct 2009 18:11:01 GMT Server: Apache/2.2.0 (Fedora) Last-Modified: Mon, 17 Nov 2008 23:09:56 GMT ETag: "f5678-2723-ad5ef900" Accept-Ranges: bytes Content-Length: 10019 Connection: close Content-Type: text/html ...CS Department homepage
@Override public void onStart() { super.onStart(); ConnectivityManager cMgr = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cMgr.getActiveNetworkInfo(); this.status.setText(netInfo.toString()); }
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> The first is for general networking, the second is for the actual info we have above.
import java.io.*; import java.net.*; public final class MyServer extends Thread { private static final int PORT=8889; private static final int NUM_CONNECT=1; private MyServer() {} public static void main(String args[]) { MyServer myServer = new MyServer(); if(myServer !=null) {myServer.start();} } public void run() { try { ServerSocket server = new ServerSocket(PORT, NUM_CONNECT); Socket client = server.accept(); BufferedReader reader = new BufferedReader( new InputStreamReader(client.getInputStream())); BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(client.getOutputStream())); // do some reading and writing } catch(IOException ie) { ie.printStackTrace(); } } }
package org.pollett; import android.app.Activity; import android.os.Bundle; import android.net.*; import android.content.*; import android.util.*; public class MyClient extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.socketButton.setOnClickListener(new OnClickListener)() { public void onClick(final View v) { socketOutput.setText(""); String output = callSocket(ipAddress.getText().toString(), port.getText().toString(), socketInput.getText().toString()); socketOutput.setText(output); } } } private String callSocket(String ip, String port, String socketData) { Socket socket = null; BufferedWriter writer = null; BufferedReader reader =null; String output = null; try{ socket = new Socket(ip, Integer.parseInt(port)); reader = new BufferedReader( new InputStreamReader(socket.getInputStream())); writer = new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())); writer.write("hello world"+socketData+"\n"); writer.flush(); output = reader.readLine(); } catch(Exception e){} return output; } }