Heim >Backend-Entwicklung >PHP-Tutorial >socket使用相关

socket使用相关

WBOY
WBOYOriginal
2016-07-25 09:08:11835Durchsuche
在一个练习小项目中学习到的                               
                   
                               
                                               
                                       
            
  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.                        
  31. //            if(socket.getRemoteSocketAddress()==null)
  32. //            {
  33. //            
  34. //            }
  35.                         //socket.connect(remoteAddr);
  36.                         //BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream(),"utf-8"),10000);
  37.                         InputStream is=socket.getInputStream();        //接收数据的转码问题
  38.                        
  39.                         Scanner in=new Scanner(is);
  40.                         //根据已经建立的socket创建PrintWriter对象,并通过这个对象将信息发送给服务器。       
  41.                         PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8")),true);
  42.                         //消息发送
  43.                         out.println(str);
  44.                        
  45.                         Log.d("ListAdapter_getvediourl_isConnected",socket.isConnected()+"");
  46.                         //判断连接超时
  47.                         if(socket.isConnected())//判断客户端与服务器端的连接,接收响应的字符串
  48.                         {       
  49.                                         while(in.hasNextLine())
  50.                                         {
  51.                                                  result=in.nextLine();
  52.                                                  tempStr.append(result);
  53.                                                  System.out.println(tempStr);       
  54.                                         }
  55.                         }
  56.                         else
  57.                         {
  58.                                 System.out.println("连接服务超时");
  59.                         }
  60.                         out.close();
  61.                         in.close();
  62.                         socket.close();//完成后。关闭socket
  63.                        
  64. //                }catch(SocketException e)
  65. //                {
  66. //                        return "-1";
  67. //                        //System.out.println("连接失败");
  68. //                        //e.printStackTrace();                                                                                                         
  69. //                }catch(IOException e){
  70. //                        return "-2";
  71. //                }
  72.                 return tempStr.toString();
  73.         }
  74. }
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn