Go Back   Java Programming Forums > Java Standard Edition Programming Help > Threads


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 19-04-2009, 11:54 AM
Member
 

Join Date: Mar 2009
Posts: 48
Thanks: 3
Thanked 0 Times in 0 Posts
Koren3 is on a distinguished road
Default udp server send thread

Hi, How can I do thread VlaknoPreposilaci?
Java Code
package nserver;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Lolek
 */

public class Main {

    /**
     * @param args the command line arguments
     */
    
    public static void main(String[] args){       

            Port port = new Port();
            Adresa adresa = new Adresa();
            Preposilani prepos = new Preposilani();
            PreposilaniData pd = new PreposilaniData();
            
            VlaknoPrijimaci prijem = new VlaknoPrijimaci(5000, port, adresa, prepos,pd);
            VlaknoPreposilaci odesli = new VlaknoPreposilaci(port, adresa, prepos,prijem.server,pd);
            
    
     }    
  }

class VlaknoPrijimaci implements Runnable
{   
   
    private Port p;
    private Adresa a;
    private int getPort;
    private InetAddress getAddress;
    private Preposilani prepos; 
    private byte odeslana[] = new byte[256];
    private byte odeslanaData[] = new byte[256];
    private byte prijata[] = new byte[256];
    private PreposilaniData pd;
    
    DatagramSocket server;
     
    
    int port;   
    VlaknoPrijimaci(int port,Port p,Adresa a,Preposilani prepos, PreposilaniData pd)
    {   
        try {
            this.pd = pd;
            this.prepos = prepos;
            this.a = a;
            this.p = p;
            this.server = new DatagramSocket(port);
            new Thread(this, "VlaknoPrijimaci").start();
        } catch (SocketException ex) {
            Logger.getLogger(VlaknoPrijimaci.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public DatagramSocket getSocket()
    {
        return this.server;
    }
    @Override
    public void run ()
    {    
        try 
        {            
            while(true)
            {
             
             DatagramPacket prijatyPaket = new DatagramPacket(prijata,prijata.length);
             server.receive(prijatyPaket);
                         
             String prijaty = new String(prijatyPaket.getData(),0,prijatyPaket.getLength());
             System.out.println("Od  klienta:"+prijaty);              
              
             
                                                    
             if (prijaty.equals("add"))
             {
                getPort = prijatyPaket.getPort();            
                p.setData(getPort);               
                
                
                getAddress = prijatyPaket.getAddress();
                a.setData(getAddress);                                
             }
             else 
             {  
                
                odeslana = prijaty.getBytes();
                prepos.setData(odeslana); 
                pd.setData(prijatyPaket);
              
             }
              
            }            
        } 
        catch (IOException ex) 
        {
            Logger.getLogger(VlaknoPrijimaci.class.getName()).log(Level.SEVERE, null, ex);
        }    
    }
}


class VlaknoPreposilaci implements Runnable
{
 private Preposilani prepos;
 private InetAddress klient;
 private int port;
 private DatagramSocket server;
 private Port p;
 private Adresa a;
 private int olo=0;
 private PreposilaniData pd;
 private int getPort;
 private InetAddress getAddress;
 
 private Integer port1;
 private Integer port2;
 
 private InetAddress adresa1;
 private InetAddress adresa2;
 
 private boolean bool = true;
 
 Thread preposilaci;
 VlaknoPreposilaci(Port p,Adresa a,Preposilani prepos,DatagramSocket pomA,PreposilaniData pd)
 {
            this.pd = pd;
            this.prepos = prepos;
            this.p = p;
            this.a = a;
            this.server = pomA;         
            new Thread(this, "VlaknoPreposilaci").start();       
 }

    @Override
 public void run()
 {  
        try {
            //Thread.sleep(10000);
            System.out.println(p.getData().get(0));
            System.out.println(a.getData().get(0));
            
            System.out.println(p.getData().get(1));
            System.out.println(a.getData().get(1));
            
            port1 = (Integer) p.getData().get(0);
            port2 = (Integer) p.getData().get(1);
            
            adresa1 = (InetAddress) a.getData().get(0);
            adresa2 = (InetAddress) a.getData().get(1);
            
          //  while(true){
                                       
            getPort = pd.getData().getPort();
            getAddress = pd.getData().getAddress();
            
                if (port1 == getPort) {
                    DatagramPacket odeslat1 = new DatagramPacket(prepos.getData(),prepos.getData().length,adresa1,port1);
                    server.send(odeslat1);
                    System.out.println("port1");
                } else if (port2 == getPort) {
                    DatagramPacket odeslat2 = new DatagramPacket(prepos.getData(),prepos.getData().length,adresa2,port2);
                    server.send(odeslat2);
                    System.out.println("port2");
                }
            
                
           // }
        } catch (IOException ex) {
            Logger.getLogger(VlaknoPreposilaci.class.getName()).log(Level.SEVERE, null, ex);
        }// catch (InterruptedException ex) {
          //  Logger.getLogger(VlaknoPreposilaci.class.getName()).log(Level.SEVERE, null, ex);
       // }
    
    
 }
 
}


class Port {
    List<Integer> listPort = Collections.synchronizedList(new ArrayList<Integer>(2)); 
    
    public synchronized void setData(int portt){
        listPort.add(portt);                                                     
    }
    
    public synchronized List getData(){        
      return this.listPort; 
    }
}
class Adresa {       
    private List<InetAddress> listAddress = Collections.synchronizedList(new ArrayList<InetAddress>(2));
    public synchronized void setData(InetAddress adresa){
            listAddress.add(adresa);
        }

    public synchronized List getData(){
        return this.listAddress;
    }
}

class Preposilani {
    private boolean obsazeno=false;
    byte[] odeslat = new byte[256];
    private int i;
    public synchronized void setData(byte odeslat[]){
        this.odeslat=odeslat;        
    }
    
    public synchronized byte[] getData(){
       return this.odeslat;
    }
}

class PreposilaniData {
    private byte[] odeslat = new byte[256];
    
    private DatagramPacket preposilanyPacket = new DatagramPacket(odeslat,odeslat.length);
    public synchronized void setData(DatagramPacket kOdeslani){
       this.preposilanyPacket=kOdeslani;        
    }
    
    public synchronized DatagramPacket getData(){
       return this.preposilanyPacket;
    }
}

class Shromazdovac
{
    
}
Thanks a lot for your answer.



Reply With Quote Share this thread on Facebook
Sponsored Links
Java Training from DevelopIntelligence
  #2 (permalink)  
Old 20-04-2009, 04:18 PM
leandro's Avatar
Member
 

Join Date: Mar 2009
Posts: 30
Thanks: 0
Thanked 3 Times in 3 Posts
leandro is on a distinguished road
Default Re: udp server send thread

Did you get an exception? Can you give us something more specific?
Reply With Quote
  #3 (permalink)  
Old 20-04-2009, 04:46 PM
Member
 

Join Date: Mar 2009
Posts: 48
Thanks: 3
Thanked 0 Times in 0 Posts
Koren3 is on a distinguished road
Default Re: udp server send thread

Never mind. I will solve another way. But thank for your interest.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to Send command line arguments in Eclipse JavaPF Java Code Snippets and Tutorials 0 23-04-2009 04:37 PM
[SOLVED] Thread and global variable Koren3 Threads 4 07-04-2009 06:42 PM
Thread variable Koren3 Threads 4 29-03-2009 03:49 PM
Important: Marking your Thread as SOLVED JavaPF Forum Rules & Guidelines 0 05-12-2008 01:33 PM


100 most searched terms
Search Cloud
2 dimensional arraylist java 2d arraylist java actionlistener actionlistener in java addactionlistener addactionlistener java convert double to integer java double format java double to integer in java double to integer java drag en drop programmeren java eclipse shortcut keys exception in thread "awt-eventqueue-0" java.lang.outofmemoryerror: java heap space exception in thread "main" java.lang.nullpointerexception exception in thread "main" java.lang.outofmemoryerror: java heap space format double in java format double java get mouse position java java 2d arraylist java actionlistener java double format java double formatting java double to int java double to integer java format double java forum java forums java get mouse position java list to map java mouse position java programming forum java programming forums java programming practice problems java send keystrokes to another application java two dimensional arraylist java.io.ioexception: premature eof java.lang.classformaterror: truncated class file java.lang.outofmemoryerror: java heap space java.util.arraylist jbutton action jbutton actionlistener jtextarea font jtextfield font size jxl.read.biff.biffexception: unable to recognize ole stream programming mutators and generics smack api two dimensional arraylist two dimensional arraylist java unable to sendviapost to url what is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?

All times are GMT. The time now is 01:54 AM.
Powered by vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.