bursa escort bursa escort beylikdüzü escort escort bayan afyon escort escort bayan istanbul escort mersin escort bayan escort kayseri bursa escort escort kayseri bursa escort canlı maç izle

Uygulama 5050 portunda çalışmaktadır.Client Server dan sayı ister ve Server 6 tane sayı gönderir.

Server Sınıfı

import java.io.IOException;
import java.io.PrintWriter;
import java.net.*;

public class ChatServer {
String[] adviceList = {"1","2","3","4","5","6","7","8","9","10","11","12"};

public void go() {

try {

ServerSocket c=new ServerSocket(5050);
while(true)
{
Socket s=c.accept();
PrintWriter writer=new PrintWriter(s.getOutputStream());
String mesaj=getMesaj();
writer.println(mesaj);
writer.close();
System.out.println("Server'ın seçtiği sayı: " + mesaj);
}
}

catch (IOException e) {
e.printStackTrace();
}
}

private String getMesaj() {
int random = (int) (Math.random() * adviceList.length);
return adviceList[random];

}

public static void main(String[] args) {
ChatServer server=new ChatServer();
server.go();
}
}

Client Sınıfı

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;

public class ChatClient {
public void go() {
try {
int i=0;
while(i<6)
{
Socket s=new Socket("localhost",5050);
InputStreamReader streamReader=new InputStreamReader(s.getInputStream());
BufferedReader reader=new BufferedReader(streamReader);
String mesaj=reader.readLine();
System.out.println("Sayı Gönder:"+mesaj);
++i;
reader.close();
}

} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
ChatClient chat=new ChatClient();
chat.go();
}
}
Etiketler: ,,

Yazar : Emrah Kahraman

Bilgisayar Mühendisi

“Java Socket – Sayı İstek Uygulaması” için 1 Yorum

  1. mehmet dedi ki:

    elimde aşağıdaki gibi kod var ve kullanıcalr istediği kadar kullanıcı ekleyebilcek yardımcı olursanız

    import java.awt.Graphics;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;

    public class SpaceShip extends JFrame implements KeyListener, MouseListener, Runnable
    {
    int k=0;
    public static void main(String[] args)
    { new SpaceShip().setVisible(true); }

    Thread runner;
    int speed = 100; //sleeps for 100 milliseconds, decrease if you want faster and increse if you want it slower
    JLabel lblShip = new JLabel(new ImageIcon(“c://spaceship.jpg”));
    JLabel lblShip2 = new JLabel(new ImageIcon(“c://spaceship1.jpg”));

    //1. gemi değişkenleri:
    static int x = 450, y = 0, width = 50, height = 50, incAmountX = 0, incAmountY = 0;
    boolean shoot = false;
    int shootX = 0, shootY = 0;

    //2. gemi değişkenleri:
    static int x2 = 0, y2 = 200, width2 = 50, height2 = 50, incAmountX2 = 0, incAmountY2 = 0;
    boolean shoot2 = false;
    int shootX2 = 0, shootY2 = 0;

    public SpaceShip()
    {
    super(“SpaceShip Wars”);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500, 500);
    setLayout(null);
    lblShip.setBounds(x, y, 35, 30);
    add(lblShip);
    lblShip2.setBounds(x2, y2, 35, 30);

    add(lblShip2);

    addKeyListener(this);
    addMouseListener(this);
    runner = new Thread(this);
    runner.start();
    }

    public void keyPressed(KeyEvent e)
    {
    shoot = shoot2 = false;
    switch(e.getKeyCode())
    {
    //1. gemi kontrolleri ok tuşları
    case KeyEvent.VK_UP: incAmountY = -1; incAmountX = 0; break;
    case KeyEvent.VK_DOWN: incAmountY = 1; incAmountX = 0; break;
    case KeyEvent.VK_LEFT: incAmountX = -1; incAmountY = 0; break;
    case KeyEvent.VK_RIGHT: incAmountX = 1; incAmountY = 0; break;

    //2. gemi kontrolleri w-a-s-d tuşları
    case KeyEvent.VK_W: incAmountY2 = -1; incAmountX2 = 0; break;
    case KeyEvent.VK_S: incAmountY2 = 1; incAmountX2 = 0; break;
    case KeyEvent.VK_A: incAmountX2 = -1; incAmountY2 = 0; break;
    case KeyEvent.VK_D: incAmountX2 = 1; incAmountY2 = 0; incAmountX3 = 1; incAmountY3 = 0;
    break;

    //gemileri durdurmak için escape
    case KeyEvent.VK_ESCAPE: incAmountX = incAmountY = incAmountX2 = incAmountY2 = 0; break;
    }
    lblShip.setBounds(x, y, width, height);
    lblShip2.setBounds(x2, y2, width2, height2);

    }
    public void run()
    {
    while(true)
    {
    try
    {
    runner.sleep(speed);
    x += incAmountX;
    y += incAmountY;
    lblShip.setBounds(x, y, width, height);
    x2 += incAmountX2;
    y2 += incAmountY2;
    lblShip2.setBounds(x2, y2, width2, height2);
    lblShip3.setBounds(x3, y3, width3, height3);
    x3 += incAmountX3;
    y3 += incAmountY3;
    repaint();
    }
    catch (InterruptedException e)
    { e.printStackTrace(); }
    }
    }
    public void paint(Graphics g)
    {
    super.paint(g);
    if(shoot)
    g.drawLine(shootX, shootY, x + 20, y + 50);
    else if(shoot2)
    g.drawLine(shootX2, shootY2, x2 + 20, y2 + 50);
    }
    public void mousePressed(MouseEvent e)
    {
    //sol tuş basılıysa 1. gemi ateş eder:
    if(e.getButton() == 1)
    {

    shoot = true;
    shootX = e.getX();
    shootY = e.getY();
    System.out.println(shootX + ” ” + shootY + ” : ” + x2 + ” “+ y2);
    //2. gemi menzilde mi diye kontrol et, eğer menzildeyse oyunu bitir:
    if(shootX >= x2 – 60 && shootX = y2 – 80 && shootY = x – 30 && shootX2 = y – 40 && shootY2 <= y + 40)
    {
    runner.stop();
    JOptionPane.showMessageDialog(null, "2. gemi 1. gemiyi vurdu, oyun bitti");
    }
    }
    repaint();
    }
    //elini mouse'tan kaldırınca ateşi kessin.
    public void mouseReleased(MouseEvent arg0)
    {
    shoot = shoot2 = false;
    repaint();
    }
    public void keyReleased(KeyEvent arg0)
    { }
    public void keyTyped(KeyEvent arg0)
    { }
    public void mouseClicked(MouseEvent e)
    { }
    public void mouseEntered(MouseEvent arg0)
    { }
    public void mouseExited(MouseEvent arg0)
    { }
    }

Java Socket – Sayı İstek Uygulaması Yazısı için Yorum Yapabilirsiniz

Sponsor
Alexa
Hakkımda
Bağlantılar