网络编程udp/tcp/tomcat

udp:要考虑数据包的大小,防止数据丢失。64K大小

接收端:

DatagramSocket  socket = new DatagramSocket(9090);      
        //准备空的数据包用于存放数据。
        byte[] buf = new byte[1024];
        DatagramPacket datagramPacket = new DatagramPacket(buf, buf.length); // 1024
        //调用udp的服务接收数据
        socket.receive(datagramPacket);
        socket.close();
    发送端:
DatagramSocket datagramSocket = new DatagramSocket();
        //准备数据,把数据封装到数据包中。
        String data = "这个是我第一个udp的例子..";
        //创建了一个数据包
        DatagramPacket packet = new DatagramPacket(data.getBytes(), data.getBytes().length,InetAddress.getLocalHost() , 9090);
        //调用udp的服务发送数据包
        datagramSocket.send(packet);
        //关闭资源 ---实际上就是释放占用的端口号
        datagramSocket.close();
udp实现群聊加

`BufferedReader keyReader = new BufferedReader(new InputStreamReader(System.in));
String line = null;
DatagramPacket packet  = null;
while((line = keyReader.readLine())!=null){
      packet = new DatagramPacket(line.getBytes(), line.getBytes().length,   InetAddress.getByName("192.168.15.255"), 9090);
  socket.send(packet)`

boolean flag = true;
while(flag){
     socket.receive(packet);
 System.out.println(packet.getAddress().getHostAddress()+"˵:"+new String(buf,0,packet.getLength()));
}

tcp:三次握手
Socket socket  = new Socket(InetAddress.getLocalHost(),9090);
        OutputStream outputStream = socket.getOutputStream();
        outputStream.write("aaa".getBytes());

        InputStream inputStream = socket.getInputStream();
        byte[] buf = new byte[1024];
        int length = inputStream.read(buf);
        System.out.println("aaa"+ new String(buf,0,length));
        socket.close(); 

ServerSocket serverSocket = new ServerSocket(9090);
        Socket socket  =  serverSocket.accept(); 
        InputStream inputStream = socket.getInputStream();
        byte[] buf = new byte[1024];
        int length = 0;
        length = inputStream.read(buf);
        System.out.println("bbb"+ new String(buf,0,length));    
        OutputStream outputStream = socket.getOutputStream();
        outputStream.write("aaa".getBytes());
        serverSocket.close();   

tomcat:

    OutputStream outputStream = socket.getOutputStream();
        outputStream.write("<html><head><title>aaa</title></head><body>w</body></html>".getBytes());
            socket.close();
            ServerSocket serverSocket = new ServerSocket(9090);
        while(true){
            Socket socket = serverSocket.accept();
            new TomcatDemo(socket).start();
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值