Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MAIN.JAVA
- package org.suai;
- import java.net.DatagramSocket;
- import java.net.InetAddress;
- public class Main {
- public static void main(String[] args) throws Exception{
- DatagramSocket clientSocket = new DatagramSocket(9876);
- InetAddress IPAddress = InetAddress.getByName("localhost");
- Thread ww = new Thread(new WorkerWriter(clientSocket, IPAddress, 9877));
- Thread wr = new Thread(new WorkerReader(clientSocket));
- ww.start();
- wr.start();
- }
- }
- WORKERREADER.JAVA
- package org.suai;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- public class WorkerReader implements Runnable{
- private DatagramSocket serverSocket;
- private byte[] receiveData = new byte[1024];
- public WorkerReader(DatagramSocket ss){
- serverSocket = ss;
- }
- public void run(){
- DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
- int i = 0;
- while (true) {
- try {
- serverSocket.receive(receivePacket);
- String sentence = new String(receivePacket.getData());
- System.out.println(sentence);
- while (receiveData[i] != 0)
- receiveData[i++] = 0;
- i = 0;
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
- }
- }
- WORKERWRITER.JAVA
- package org.suai;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.InetAddress;
- import static java.lang.System.exit;
- public class WorkerWriter implements Runnable {
- private BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
- private DatagramSocket serverSocket;
- private InetAddress IPAddress;
- private int port;
- private String str;
- private String name = "Client";
- private String quit = "@quit";
- private byte[] sendData = new byte[1024];
- public WorkerWriter(DatagramSocket ss, InetAddress ia, int p){
- serverSocket = ss;
- IPAddress = ia;
- port = p;
- }
- public void run(){
- while (true) {
- try {
- str = inFromUser.readLine();
- if (str.equals(quit)){
- exit(0);
- }
- if (str.startsWith("@name")){
- name = str.substring(6);
- continue;
- }
- str = name + ": " + str;
- sendData = str.getBytes();
- DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress,
- port);
- serverSocket.send(sendPacket);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement