Socket简单使用demo

 客户端:

import java.io.*;
import java.net.Inet4Address;
import java.net.InetSocketAddress;
import java.net.Socket;

public class Client {

    public static void main(String[] args) throws IOException {

    try{
        //创建socket
        Socket socket = new Socket("所连接服务端ip地址",端口号);
       
        //得到Socket输出流
        BufferedWriter write = new BufferedWriter(new OutPutStreamWriter(socket.getOutPutStream()))

//发送方法 1.  
        //固定发送内容
         writer.write("hello");
     
        //刷新write
        writer.flush();

//发送方法 2.  
        //获取键盘输入数据
        //  InputStream in = System.in;
        //  BufferedReader input = new BufferedReader(new InputStreamReader(in));
        //  String s = input.readLine();
        //发送键盘输入
        //writer.write(s);
     
        //刷新write
        //writer.flush();

//接收服务端回复:
        //得到socket输入流
        BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        //获取服务端返回数据
        String back = reader .readLine(); 
        System.out.println(back);

        //重复使用可以加入循环控制 获取键盘输入以及服务端返回数据
        //  do {
        //       String s = input.readLine();  
        //       writer.write(s);
        //       writer.flush();       
        //       String back = bufferedReader.readLine();         
        //       System.out.println(back);
        //    } while (true);
        //
        //退出的话可定义标志位代替true。
        } catch (){
        
        } finally{
            //关闭资源
            writer.close();
            socket.close();
        }
    }

服务端:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {


    public static void main(String[] args){
          
        try {

            //创建服务端
            ServerSocket serverSocket = new ServerSocket(端口);

            //监听,等待客户端连接
            Socket client = serverSocket.accept(); 

            //得到socket输出流,返回客户端数据使用
            BufferedWriter writer = new BufferedWriter(new OutPutStreamWriter(socket.getOutPutStream()))

            //得到socket输入流,读取客户端写入数据使用
            BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            //获取客户端发送给服务端的消息
            String input = socketInput.readLine();     
            System.out.println(input);  

            //回复客户端
            writer.write("你好");    
            
            //不需要回复客户端,不用writer。可以在读取到数据进行一些处理,循环也可用dowhile

            } catch (IOException e) {
                e.printStackTrace();
            }finally {

             //关闭资源
               reader.close();
               writer.close(); 
               socket.close();
               serverSocket.close();
            }

        }
    }
}

先运行服务端,再运行客户端,然后在客户端发送消息给服务端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值