欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

socket使用相关

程序员文章站 2022-06-12 08:59:31
...
在一个练习小项目中学习到的




  1. package com.sdut.edu.tools;
  2. import java.io.BufferedWriter;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStreamWriter;
  6. import java.io.PrintWriter;
  7. import java.net.InetSocketAddress;
  8. import java.net.Socket;
  9. import java.net.SocketAddress;
  10. import java.net.SocketException;
  11. import java.util.Scanner;
  12. import android.app.ActivityManager;
  13. import android.app.AlertDialog;
  14. import android.content.Context;
  15. import android.content.DialogInterface;
  16. import android.util.Log;
  17. public class ConnectServer {
  18. public String connectServer(String str) throws SocketException,IOException
  19. {//获得从服务器的响应字符串
  20. // TODO Auto-generated method stub
  21. String result = null;
  22. StringBuffer tempStr=new StringBuffer();//最终返回的结果
  23. // try{
  24. int c=0;
  25. //根据服务器的IP和端口号创建一个socket对象,建立与服务器的连接
  26. Socket socket=new Socket();
  27. //Socket的构造方法,
  28. socket.connect(new InetSocketAddress("192.168.0.189",4444),4000);
  29. //接收从服务器获得的数据额对象
  30. // if(socket.getRemoteSocketAddress()==null)
  31. // {
  32. //
  33. // }
  34. //socket.connect(remoteAddr);
  35. //BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream(),"utf-8"),10000);
  36. InputStream is=socket.getInputStream(); //接收数据的转码问题
  37. Scanner in=new Scanner(is);
  38. //根据已经建立的socket创建PrintWriter对象,并通过这个对象将信息发送给服务器。
  39. PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8")),true);
  40. //消息发送
  41. out.println(str);
  42. Log.d("ListAdapter_getvediourl_isConnected",socket.isConnected()+"");
  43. //判断连接超时
  44. if(socket.isConnected())//判断客户端与服务器端的连接,接收响应的字符串
  45. {
  46. while(in.hasNextLine())
  47. {
  48. result=in.nextLine();
  49. tempStr.append(result);
  50. System.out.println(tempStr);
  51. }
  52. }
  53. else
  54. {
  55. System.out.println("连接服务超时");
  56. }
  57. out.close();
  58. in.close();
  59. socket.close();//完成后。关闭socket
  60. // }catch(SocketException e)
  61. // {
  62. // return "-1";
  63. // //System.out.println("连接失败");
  64. // //e.printStackTrace();
  65. // }catch(IOException e){
  66. // return "-2";
  67. // }
  68. return tempStr.toString();
  69. }
  70. }
复制代码
相关标签: socket使用相关