Şimdi Ara

Java sunucu istemci basit bir soru?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
526
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Yarın sınavım var da şöyle bir soru var. Yardımcı olabilirseniz sevinirim.

    İstemci tarafında sunucudan bir karenin kenar uzunluğu bilgisi alınacak, bu bilgi sunucuya gönderilecek, sunucu da istemciden aldığı kenar uzunluğu bilgisini kullanarak karenin alanını hesaplayacak ve hesaplanan bu alanı istemciye gönderecek. (Kenar Double tipinde olacak)



    _____________________________
  • Sunucu derken webservis mi kastediliyor? Eğer oyleyse yapman gereken bir webservis yazıp buna gönderilcek verinin double olarak alınıp . karesini hesaplayıp . geri karesini double olarak döndürmen gerekir ..

    açıklaması bu olurdu herhalde .


    "stemci tarafında sunucudan bir karenin kenar uzunluğu bilgisi alınacak," bunu anlamadım ? sunucudan rastgele kenar uzunluğu mu isteniyor?
    _____________________________
    GlobalSpaceX.com Development. Debuging . Enjoy. ----> Enterprise Software Development Specialist
  • socket lerden bahsediyordur bence.

    bu ornegi her socket leri ogrenmek isteyene paylasirim. harika bir ornek. kavrarsan cok iyi bicimde cozersin problemi.

    http://inetjava.sourceforge.net/lectures/part1_sockets/InetJava-1.9-Chat-Client-Server-Example.html
    _____________________________
  • Yardımcı olmaya çalıştığınız için teşekkür ederim. İlgili örneği paylaşayım belki birilerine yararı olur :

    İstemci Kodları :

    package edu.erciyes.javaProgramming.istemciSunucu; 

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.Socket;
    public class Istemci extends JFrame { // pencere olacagi icin extends JFrame
    private JTextField metinAlani = new JTextField(); // pencere de textarea ve metin olacak
    private JTextArea textArea = new JTextArea(); // kullanicinin kenaruzunlugunu girmesi icin
    private DataInputStream okuyucu; // sunucudan gelen data okumak icin
    private DataOutputStream yazici; // sunucuya data gondermek icin

    public Istemci(){
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    panel.add(new JLabel("lutfen karenin kenar uzunlugunu giriniz"),BorderLayout.WEST);
    panel.add(metinAlani,BorderLayout.CENTER);
    metinAlani.setHorizontalAlignment(JTextField.RIGHT);

    setLayout(new BorderLayout()); // istemci penceresi layout u
    add(panel, BorderLayout.NORTH);
    add(new JScrollPane(textArea),BorderLayout.CENTER);

    metinAlani.addActionListener(new MetinAlaniDinleyici());

    try{
    Socket istemciSoketi = new Socket("localhost",8000);
    okuyucu = new DataInputStream(istemciSoketi.getInputStream()); // okuyucu ve yazici
    yazici = new DataOutputStream(istemciSoketi.getOutputStream()); // akimlarini olusturuyoruz

    }catch(IOException istisna){
    textArea.append(istisna.getMessage()+ '\n');
    }
    }

    private class MetinAlaniDinleyici implements ActionListener{ // bu sinif kullanici deger girecek
    public void actionPerformed(ActionEvent e){ // sonra o degeri alip sunucuya gonderecek
    try{ //metni double ceviriyoruz // sunucudan gelen alan bilgisini de textarea ya
    double kenarUzunlugu = Double.parseDouble(metinAlani.getText().trim()); // ekleyecek
    yazici.writeDouble(kenarUzunlugu); //sunucuya gonderme// metnin basindaki ve sonundakini atmak icin trim
    double alan = okuyucu.readDouble();
    textArea.append("kenar uzunluğu " + kenarUzunlugu);
    textArea.append("sunucudan alinan alan " + alan);

    }catch(IOException istisna){
    System.err.println(istisna);

    }


    }

    }

    }




    Sunucu Kodları :

    package edu.erciyes.javaProgramming.istemciSunucu; 

    import javax.swing.*;
    import java.awt.*;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.Date;

    public class Sunucu extends JFrame { //grafik arayuzu olacagi icin JFrame extend ettik
    private JTextArea textArea = new JTextArea();

    public Sunucu(){ // Sunucu yapicisi
    setTitle("Sunucu"); // pencere ozelliklerini atiyoruz
    setSize(500,300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);

    setLayout(new BorderLayout());
    add(new JScrollPane(textArea)); // kaydirma cubugu da olsun

    try{
    //sunucu soketi olusturuyoruz
    ServerSocket sunucuSoket = new ServerSocket(8000); // 8000 portundan gelecekleri dinleyecek
    textArea.append("Sunucu " + new Date() + "tarihinde basladi" + '\n');
    Socket soket = sunucuSoket.accept(); // istemcileri dinliyor sunucu, istemciden istek olana kadar bekler

    //veri aktarimi icin akimlari olusturuyoruz
    DataInputStream okuyucu = new DataInputStream(soket.getInputStream());
    DataOutputStream yazici = new DataOutputStream(soket.getOutputStream());

    while(true){ // dongunun surekli calismasi icin
    double kenarUzunlugu = okuyucu.readDouble(); // istemciden double bir bilgi geldigini varsaydik
    double alan = kenarUzunlugu * kenarUzunlugu;
    yazici.writeDouble(alan); // istemciye alan bilgisini gonderiyoruz

    // bu bilgileri textArea ya ekliyoruz
    textArea.append("istemciden aldigimiz kenar uzunlugu bilgisi " + kenarUzunlugu);
    textArea.append("istemciye gönderilen alan bilgisi" + alan);
    }

    }catch(IOException istisna){
    System.err.println(istisna);
    }
    }




    }


    Main İstemci :

    package edu.erciyes.javaProgramming.istemciSunucu; 

    import javax.swing.*;


    public class MainIstemci {
    public static void main(String[] args){
    Istemci istemci = new Istemci(); // pencere olusturup ozelliklerini atiyoruz
    istemci.setTitle("İstemci");
    istemci.setSize(500,300);
    istemci.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    istemci.setVisible(true);
    }
    }


    Main Sunucu :

    package edu.erciyes.javaProgramming.istemciSunucu; 


    public class MainSunucu {
    public static void main(String[] args){
    Sunucu sunucu = new Sunucu();

    }

    }
    _____________________________




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.