当前位置:操作系统 > 安卓/Android >>

Android 网络编程: SOCKET的简单使用。

本文介绍SOCKET 的服务端和客户端的开发。 在本文中并没有使用异步来对数据进行接收。 因为网上太多有关异步、存储客户端SOCKET的例子了, 但是他们的代码都非常的多, 非常的繁琐, 所以这里就去掉了异步数据接收等。
首先介绍服务端: 这里代码实现的是服务端打开后就等待客户端的连接, 当客户端连接上后就接收消息, 并发消息回去后马上关闭链接。
如果需要做类是聊天室软件的话需要加上“异步处理”
[java]
public class SocketServer 

    private ServerSocket mServerSocket; 
    private static final int SERVER_PORT = 6000;    //端口 
 
    public SocketServer() 
    { 
 
    } 
 
    public boolean startServer() 
    { 
        boolean bRet = false; 
        try 
        { 
            //创建一个SOCKET 服务器 
            mServerSocket = new ServerSocket(SERVER_PORT); 
            bRet = true; 
        } catch (Exception e) 
        { 
            // TODO: handle exception 
        } 
 
        return bRet; 
    } 
 
    public void recv() 
    { 
        try 
        { 
            Socket socket = mServerSocket.accept(); 
 
            //拿到客户端的输入输出(读取,发送) 
            InputStream is = socket.getInputStream(); 
            PrintWriter pw = new PrintWriter(socket.getOutputStream()); 
 
            //这里读取客户端第一次发来的消息     调试来看吧 
            byte buffer[] = new byte[1024]; 
            int reCount = is.read(buffer); 
            String msgString = EncodingUtils.getString(buffer, "GB2312"); 
             
            //我们发回一个"aa"给客户端 
            pw.print("aa"); 
            pw.flush(); 
             
            //关掉这个连接 
            socket.close(); 
 
        } catch (Exception e) 
        { 
            // TODO: handle exception 
        } 
    } 
     
    public void close() 
    { 
        try 
        { 
            mServerSocket.close(); 
        } catch (Exception e) 
        { 
            // TODO: handle exception 
        } 
    } 

客户端:
[java] 
public class SocketClient 

    private Socket socket; 
    private InputStream mInputStream;                
    private PrintWriter mPrintWriter; 
    private static final String SERVER_IP   = "192.168.1.24"; 
    private static final int    SERVER_PORT = 6000; 
     
    public SocketClient() 
    { 
 
    } 
     
    public boolean connection() 
    { 
        boolean bRet = false; 
        try 
        { 
            //创建一个客户端连接 
            InetAddress ia = InetAddress.getByName(SERVER_IP); 
            socket = new Socket(ia, SERVER_PORT); 
             
            //获取这个客户端连接SOCKET的输入输出 
            mPrintWriter = new PrintWriter(socket.getOutputStream(), true); 
            mInputStream = socket.getInputStream(); 
             
            bRet = true; 
        } catch (Exception e) 
        { 
            // TODO: handle exception 
        } 
             
        return bRet; 
    } 
     
    //发送消息 
    public void sendMsg(String msg) 
    { 
        mPrintWriter.print(msg); 
        mPrintWriter.flush(); 
    } 
     
    //读取消息 
    public String readMsg() 
    { 
        String msgString = ""; 
        try 
      

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,