/* * Author: Wenbing Zhao * Last Modified: 9/18/2006 * For EEC484/584 Project 1 */ import java.io.*; public class ParSender extends DataLinkLayer{ public static final int RECEIVER_PORT = 9888; public static final int SENDER_PORT = 9887; public ParSender(PhysicalLayer pl) { super(pl); } public void run() { int nextFrameToSend; Frame frame = new Frame(); Packet packet = new Packet(); nextFrameToSend = 0; getPacketToSend(packet); while(true) { // To be completed // populate the frame fields sendFrameToPhysicalLayer(frame); m_wakeup = false; // To be completed int event = waitForEvent(); if(EVENT_FRAME_ARRIVAL == event) { frame = receiveFrameFromPhysicalLayer(); // To be completed } } } // To be modified // We get packet to send from stdin void getPacketToSend(Packet packet) { System.out.println("Please enter a message to send: "); try { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); String sentence = inFromUser.readLine(); byte[] sendData = sentence.getBytes(); System.out.println("Sending: "+sentence); packet.length = sendData.length; packet.payload = sendData; } catch(Exception e) { System.out.println("IO error: "+e); } } public static void main(String args[]) throws Exception { PhysicalLayer pl = new PhysicalLayer(SENDER_PORT, RECEIVER_PORT); ParSender sender = new ParSender(pl); pl.setDataLinkLayer(sender); sender.run(); } }