笔记(4/8)UDP

服务端

public class UDPReceive {
	private static final int PORT = 5000;
	private DatagramSocket socket;
	private DatagramPacket packet;
	private byte bytes[];
	private String receiveStr;
       
        public UDPReceive (){
           init();
        }

        public void init(){
             socket=new DatagramSocket(port);
             bytes=new byte[1024];
             packet=new DatagramPacket(bytes,bytes.length());
             receiveStr = "";
	     int i = 0;
             while(i==0){
                   socket.receive(packet);
                   i=packet.getlength();
                   if(i>0)
                   {
                       receiveStr=new String(bytes,0,packet.getlength());
                       i=0;
                   }
             }
        }
}



客户端


主要代码

socket=new DatagramSocket(port+1);
str="ni";
bytes=str.getBytes();
packet=new DatagramPacket(bytes,bytes.length().地址,端口);
socket.send(packet);

package com.eastcom.sspm.monitor;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPReceive {
	private static final int PORT = 5000;
	private DatagramSocket dataSocket;
	private DatagramPacket dataPacket;
	private byte receiveByte[];
	private String receiveStr;

	public UDPReceive() {
		Init();
	}

	public void Init() {
		try {
			dataSocket = new DatagramSocket(PORT);
			receiveByte = new byte[1024];
			dataPacket = new DatagramPacket(receiveByte, receiveByte.length);
			receiveStr = "";
			int i = 0;
			while (i == 0)// 无数据,则循环

			{
				dataSocket.receive(dataPacket);
				i = dataPacket.getLength();
				// 接收数据

				if (i > 0) {
					// 指定接收到数据的长度,可使接收数据正常显示,开始时很容易忽略这一点

					receiveStr = new String(receiveByte, 0,
							dataPacket.getLength());
					System.out.println(receiveStr);
					i = 0;// 循环接收

				}
				
//				int port = dataPacket.getPort();
//		        InetAddress addr = dataPacket.getAddress();
//		        String sendStr = "Hello ! I'm Server";
//		        byte[] sendBuf;
//		        sendBuf = sendStr.getBytes();
//		        DatagramPacket sendPacket 
//		            = new DatagramPacket(sendBuf , sendBuf.length , addr , port );
//		        dataSocket.send(sendPacket);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String args[]) {
		new UDPReceive();
	}
}

package com.eastcom.sspm.monitor;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPClient {
	private static final int PORT = 5000;
	private DatagramSocket dataSocket;
	private DatagramPacket dataPacket;
	private byte sendDataByte[];
	private String sendStr;

	public UDPClient(String listStatus) {
		Init(listStatus);
	}

	public void Init(String listStatus) {
		try {
			// 指定端口号,避免与其他应用程序发生冲突

			dataSocket = new DatagramSocket(PORT + 1);
			sendDataByte = new byte[1024];
			sendStr = "UDP方式发送数据";
			sendDataByte = sendStr.getBytes();
			dataPacket = new DatagramPacket(sendDataByte, sendDataByte.length,
					InetAddress.getByName("localhost"), PORT);
			dataSocket.send(dataPacket);
			
			byte[] recvBuf = new byte[100];
	        DatagramPacket recvPacket
	            = new DatagramPacket(recvBuf , recvBuf.length);
	        dataSocket.receive(recvPacket);
	        String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());
	        System.out.println("收到:" + recvStr);
	        dataSocket.close();
		} catch (SocketException se) {
			se.printStackTrace();
		} catch (IOException ie) {
			ie.printStackTrace();
		}
	}
	
	public static void main(String args[]) {
        new UDPClient("1");
    }

	
}


log4j基本使用四个日志级别,error,warn,info,debug.日志只打印高于或等于设定的日志级别的日志。


int不能用toString Interger可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值