Rumah  >  Artikel  >  pembangunan bahagian belakang  >  socket使用相关

socket使用相关

WBOY
WBOYasal
2016-07-25 09:08:11820semak imbas
在一个练习小项目中学习到的                               
                   
                               
                                               
                                       
            
  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. }
复制代码


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn