Advertisement
Guest User

Untitled

a guest
Jul 24th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.72 KB | None | 0 0
  1. package com.example.loneranger.ser;
  2.  
  3.  
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.widget.TextView;
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.IOException;
  10. import java.io.InputStream;
  11. import java.io.InputStreamReader;
  12. import java.io.PrintWriter;
  13. import java.net.InetAddress;
  14. import java.net.NetworkInterface;
  15. import java.net.ServerSocket;
  16. import java.net.Socket;
  17. import java.net.SocketException;
  18. import java.util.Enumeration;
  19.  
  20. public class MainActivity extends Activity {
  21.  
  22.  
  23. TextView ip;
  24. TextView msg;
  25. String data = "";
  26.  
  27. ServerSocket httpServerSocket;
  28.  
  29. @Override
  30. protected void onCreate(Bundle savedInstanceState) {
  31. super.onCreate(savedInstanceState);
  32. setContentView(R.layout.activity_main);
  33.  
  34.  
  35. ip = (TextView) findViewById(R.id.infoip);
  36. msg = (TextView) findViewById(R.id.msg);
  37.  
  38. ip.setText(getIpAddress() + ":"
  39. + 8080 + "n");
  40.  
  41. Server server = new Server();
  42. server.start();
  43. }
  44.  
  45. @Override
  46. protected void onDestroy() {
  47. super.onDestroy();
  48.  
  49. if (httpServerSocket != null) {
  50. try {
  51. httpServerSocket.close();
  52. } catch (IOException e) {
  53. e.printStackTrace();
  54. }
  55. }
  56. }
  57.  
  58. private String getIpAddress() {
  59. String ip = "";
  60. try {
  61. Enumeration<NetworkInterface> enumNetworkInterfaces = NetworkInterface
  62. .getNetworkInterfaces();
  63. while (enumNetworkInterfaces.hasMoreElements()) {
  64. NetworkInterface networkInterface = enumNetworkInterfaces
  65. .nextElement();
  66. Enumeration<InetAddress> enumInetAddress = networkInterface
  67. .getInetAddresses();
  68. while (enumInetAddress.hasMoreElements()) {
  69. InetAddress inetAddress = enumInetAddress.nextElement();
  70.  
  71. if (inetAddress.isSiteLocalAddress()) {
  72. ip += "IP: "
  73. + inetAddress.getHostAddress() + "n";
  74. }
  75.  
  76. }
  77.  
  78. }
  79.  
  80. } catch (SocketException e) {
  81. // TODO Auto-generated catch block
  82. e.printStackTrace();
  83. ip += "Something Wrong! " + e.toString() + "n";
  84. }
  85.  
  86. return ip;
  87. }
  88.  
  89. private class Server extends Thread {
  90.  
  91.  
  92. @Override
  93. public void run() {
  94. Socket socket = null;
  95.  
  96. try {
  97. httpServerSocket = new ServerSocket(8888);
  98.  
  99. while(true){
  100. socket = httpServerSocket.accept();
  101.  
  102. HttpResponseThread httpResponseThread =
  103. new HttpResponseThread(
  104. socket);
  105. httpResponseThread.start();
  106. }
  107. } catch (IOException e) {
  108. // TODO Auto-generated catch block
  109. e.printStackTrace();
  110. }
  111.  
  112. }
  113.  
  114.  
  115. }
  116.  
  117. private class HttpResponseThread extends Thread {
  118.  
  119. Socket socket;
  120.  
  121. HttpResponseThread(Socket socket){
  122. this.socket = socket;
  123.  
  124. }
  125.  
  126. @Override
  127. public void run() {
  128. BufferedReader BReader;
  129. PrintWriter printer;
  130. String request;
  131.  
  132.  
  133. try { InputStream inputStream = socket.getInputStream();
  134. BReader = new BufferedReader(new InputStreamReader(inputStream));
  135. request = BReader.readLine();
  136. Thread.sleep(500);
  137. printer = new PrintWriter(socket.getOutputStream(), true);
  138.  
  139.  
  140. printer.print("hello laundu");
  141. printer.flush();
  142. String ip123=socket.getInetAddress().toString();
  143. printer.close();
  144.  
  145. BReader.close();
  146.  
  147. socket.close();
  148.  
  149.  
  150. data += "Request of " + request
  151. + " from "+ ip123 + "n";
  152. MainActivity.this.runOnUiThread(new Runnable() {
  153.  
  154. @Override
  155. public void run() {
  156.  
  157. msg.setText(data);
  158. }
  159. });
  160.  
  161. } catch (IOException e) {
  162. // TODO Auto-generated catch block
  163. e.printStackTrace();
  164. } catch (InterruptedException e) {
  165. e.printStackTrace();
  166. }
  167.  
  168. return;
  169. }
  170. }
  171.  
  172. }
  173.  
  174. mport android.os.AsyncTask;
  175. import android.widget.TextView;
  176.  
  177. import java.io.BufferedReader;
  178. import java.io.BufferedWriter;
  179. import java.io.ByteArrayOutputStream;
  180. import java.io.IOException;
  181. import java.io.InputStream;
  182. import java.io.OutputStream;
  183. import java.io.OutputStreamWriter;
  184. import java.io.PrintWriter;
  185. import java.io.UnsupportedEncodingException;
  186. import java.net.Socket;
  187. import java.net.UnknownHostException;
  188.  
  189. public class Client extends AsyncTask<Void, Void, Void> {
  190.  
  191. String dstAddress;
  192. int dstPort;
  193. String response = "";
  194. TextView textResponse;
  195. MainActivity activity;
  196. OutputStream outputStream;
  197. BufferedReader BReader;
  198. String request;
  199.  
  200. Client(String addr, int port, TextView textResponse) {
  201. dstAddress = addr;
  202. dstPort = port;
  203. this.textResponse=textResponse;
  204. this.activity=activity;
  205. }
  206.  
  207. @Override
  208. protected Void doInBackground(Void... arg0) {
  209.  
  210. Socket socket = null;
  211.  
  212. try {
  213. socket = new Socket(dstAddress, dstPort);
  214. Server server = new Server(socket);
  215. server.start();
  216.  
  217. PrintWriter out = new PrintWriter(new BufferedWriter(
  218.  
  219. new OutputStreamWriter(socket.getOutputStream())),
  220.  
  221. true);
  222.  
  223. out.print("futfujb");
  224. out.flush();
  225.  
  226.  
  227.  
  228.  
  229. /*
  230. * notice: inputStream.read() will block if no data return
  231. */
  232.  
  233.  
  234. } catch (UnknownHostException e) {
  235. // TODO Auto-generated catch block
  236. e.printStackTrace();
  237. response = "UnknownHostException: " + e.toString();
  238. } catch (IOException e) {
  239. // TODO Auto-generated catch block
  240. e.printStackTrace();
  241. response = "IOException: " + e.toString();
  242. } /*finally {
  243. if (socket != null) {
  244. try {
  245.  
  246. } catch (IOException e) {
  247. // TODO Auto-generated catch block
  248. e.printStackTrace();
  249. }
  250. }
  251. }*/
  252. return null;
  253. }
  254.  
  255. @Override
  256. protected void onPostExecute(Void result) {
  257. textResponse.setText(response);
  258. super.onPostExecute(result);
  259. }
  260. private class Server extends Thread {
  261. Socket socket;
  262. Server(Socket socket)
  263. {
  264. this.socket=socket;
  265. }
  266. @Override
  267. public void run() {
  268.  
  269. try { //Thread.sleep(500);
  270.  
  271. ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(
  272. 1024);
  273. byte[] buffer = new byte[1024];
  274.  
  275. int bytesRead;
  276. InputStream inputStream = socket.getInputStream();
  277.  
  278. if(inputStream.available()>0)
  279. {
  280. while ((bytesRead = inputStream.read(buffer)) != -1) {
  281. byteArrayOutputStream.write(buffer, 0, bytesRead);
  282. response += byteArrayOutputStream.toString("UTF-8");
  283. }
  284. }
  285.  
  286. inputStream.close();
  287. socket.close();
  288. }
  289. catch (UnsupportedEncodingException e) {
  290. e.printStackTrace();
  291. } catch (IOException e) {
  292. e.printStackTrace();
  293. }
  294.  
  295.  
  296. }
  297.  
  298.  
  299. }
  300.  
  301.  
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement