android-socket(tcp协议)

tcp 服务器
 
public class SocketActivity  {
 
    class ServerThread extends Thread{
     public void run(){
            //声明一个ServerSocket对象
           ServerSocket serverSocket = null;
            try {
                 //创建一个ServerSocket对象,并让这个Socket在4567端口监听
                     serverSocket = new ServerSocket(4567);
                      //调用ServerSocket的accept()方法,接受客户端所发送的请求
                     Socket socket = serverSocket.accept();
                      //从Socket当中得到InputStream对象
                     InputStream inputStream =  socket.getInputStream();
                      byte buffer [] = new byte[1024*4];
                      int temp = 0;
                      //从InputStream当中读取客户端所发送的数据
                      while((temp = inputStream.read(buffer)) != -1){
                           System. out.println( new String(buffer,0,temp));
                     }
                      //返回给客户端
                     PrintWriter pw= new PrintWriter(socket.getOutputStream(),true );
                     pw. println("我是服务器");

                } catch (IOException e) {
                      // TODO Auto-generated catch block
                     e.printStackTrace();
                }
                 finally{
                      try {
                           serverSocket.close();
                     } catch (IOException e) {
                            // TODO Auto-generated catch block
                           e.printStackTrace();
                     }
                }
           
     }
  /*       public void run(){
           try {
                //创建一个DatagramSocket对象,并指定监听的端口号
                     DatagramSocket socket = new DatagramSocket(4567);
                     byte data [] = new byte[1024];
                     //创建一个空的DatagramPacket对象
                     DatagramPacket packet = new DatagramPacket(data,data.length);
                     //使用receive方法接收客户端所发送的数据
                     socket.receive(packet);
                     String result = new String(packet.getData(),packet.getOffset(),packet.getLength());
                     System.out.println("result--->" + result);
                } catch (Exception e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
                }
     }*/
    }
}
 
 
客户端
public MyClient() {
           try {
              Socket s= new Socket("127.0.0.1" ,4567);
               //如果连接成功就可以发送数据了
               //通过 printer 写入数据
              PrintWriter printWriter= new PrintWriter(s.getOutputStream(),true );
               printWriter.println("你好 ,我是客户端");
              BufferedReader br= new BufferedReader(new InputStreamReader(s.getInputStream()));
              System. out.println("客户端收到" +br.readLine());
          } catch (UnknownHostException e) {
               // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (IOException e) {
               // TODO Auto-generated catch block
              e.printStackTrace();
          }
     }

 

转载于:https://www.cnblogs.com/it-studio/p/3461193.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值