⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gbnserver.java

📁 呵呵
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.lang.Math;
public class GbnServer{
	public static void main(String args[]) throws Exception{
		int n=0,d=0;
		DatagramSocket clientSocket = new DatagramSocket(6789);
		byte[] receiveData = new byte[100];
		
    	while(true){
    		
			DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length);
			clientSocket.receive(receivePacket);
			String received = new String(receivePacket.getData());
			
			char b=received.charAt(0);
			int i=b-'0';
			if(Math.random()<0.7){
				System.out.println("received the "+received);
				
				if(i<=n){
					n++;
					System.out.println("**************so send ack "+i);
					System.out.println();
					System.out.println();
					System.out.println();
					System.out.println();
					System.out.println();
				}
				else{
					if(n>0)
				    	d=n-1;
					System.out.println("but discard"+" and send ack "+d);
					System.out.println();
					System.out.println();
					System.out.println();
					System.out.println();
					System.out.println();					
				}
				byte[] sendData=new byte[100];
	  		    received.getBytes(0,1,sendData,0);
				InetAddress IPAddress = receivePacket.getAddress();
				int port = receivePacket.getPort();
				DatagramPacket sendPacket =new DatagramPacket(sendData,sendData.length,IPAddress,port);
				clientSocket.send(sendPacket);
			}
	   }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -