加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 教程 > 正文

Socket在Android中的实施

发布时间:2021-12-16 13:00:41 所属栏目:教程 来源:互联网
导读:Android 提供的常用的网络编程包括针对TCP/IP协议的Socket通信。Socket是一种跨平台的编程方式,可以在异构语言之间进行通信。 Socket程序的开发原理,是要实现服务器端和客户端。 服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下

Android 提供的常用的网络编程包括针对TCP/IP协议的Socket通信。Socket是一种跨平台的编程方式,可以在异构语言之间进行通信。
 
Socket程序的开发原理,是要实现服务器端和客户端。
 
服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。
 
客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。
 
下面是一个实现socket的例子:
 
服务器端代码:
 
package com.socket;  
  
import java.io.BufferedReader;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.io.OutputStream;  
import java.io.PrintWriter;  
import java.net.ServerSocket;  
import java.net.Socket;  
/**
* com Server
*/  
public class Main {  
    private int ServerPort = 9999;  
    private ServerSocket serversocket = null;  
    private OutputStream outputStream = null;  
    private InputStream inputStream = null;  
    private PrintWriter printWinter = null;  
    private Socket socket = null;  
    private BufferedReader reader = null;  
      
    public Main(){  
        try{  
            serversocket = new ServerSocket(ServerPort);  
            System.out.println("服务启动。。。");  
            socket = serversocket.accept();  
            System.out.println("客户已连接");  
              
              
        }catch(Exception ex){  
            ex.printStackTrace();  
        }  
        try{  
            outputStream= socket.getOutputStream();  
            inputStream = socket.getInputStream();  
            printWinter = new PrintWriter(outputStream,true);  
            reader = new BufferedReader(new InputStreamReader(inputStream));  
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));  
            while (true){  
                String message = reader.readLine();  
                System.out.println("client:"+message);  
                if(message.equals("bye")||message.equals("Bye")){  
                    break;  
                }  
                message = in.readLine();  
                printWinter.println(message);  
                  
            }  
            outputStream.close();  
            inputStream.close();  
            socket.close();  
            serversocket.close();  
            System.out.print("Client is disconnected");  
              
        }catch(Exception e){  
            e.printStackTrace();  
        }finally{  
              
        }  
      
    }  
    public static void main(String[] args){  
        new Main();  
    }  

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读