Archive

Posts Tagged ‘Java’

Java ile server socket yapımı

December 11th, 2010 No comments

Bir proje için server sockete ihtiyaç duydum. Öncelikli dilim python olmasına rağmen, sunucu solaris olunca java ile yazmak daha cazip geldi. Öncelikli olarak test amaçlı birkaç satır kod yazdım. Akla gelen ilk örnek echo server oluyor 🙂 aşağıda multi thread çalışan, birden fazla kullanıcıya cevap verebilecek bir echo server var:)

Server.java

/**
 * @author: Aşkın Yollu 
 */

import java.net.*;
import java.io.*;

class Server {
    public static void main(String args[]) throws Exception {
        ServerSocket myService = null;
        Socket       client    = null;
        Worker       tmpworker = null;
        
        try {
            // 1234 nolu portu dinle
            myService = new ServerSocket(1234);
        } catch (IOException e) {
            System.out.println(e);
        }


        try {
            while (true) {
                // bağlantı kuracak istemcileri bekle
                client = myService.accept();

                // bağlantıları bir listeye ekle

                // istemci için yeni thread oluştur
                tmpworker = new Worker(client);
            }
        } catch (IOException e) {
            System.out.println(e);
        }

    }
}

Worker.java

/**
 * @author: Aşkın Yollu
 */

import java.net.*;
import java.io.*;

class Worker implements Runnable {
    private Socket           client;
    private DataInputStream  is;
    private DataOutputStream os;
    Thread       t;

    // Yaratıcı method
    public Worker(Socket client) {
        this.client = client;
        t = new Thread(this);
        t.start();
    }

    public void run() {
        String line = null;
        
        try {
            this.is = new DataInputStream(this.client.getInputStream());
            this.os = new DataOutputStream(this.client.getOutputStream());

            while (true) {
                line =this.is.readLine();
                this.os.writeBytes(line + "\n");
            }

        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

kodları derleyip çalıştırdıktan sonra

telnet localhost 1234

komutunu verip birşeyler yazmaya başlayın, bakalım ne olacak 🙂

Client tarafını c ile yazacağım. Muhtemelen bir sonraki girdi c ile client socket olur.

Categories: Gezegen, Programlama Tags: , , , ,

Java ile Oracle Veritabanına bağlanmak.

November 8th, 2010 No comments

Öncelikle http://www.oracle.com/technetwork/database/enterprise-edition/jdbc101040-094982.html adresinden classes12.jar dosyasını indiriyoruz.

Bu dosyayı bir dizine atıp, içeriğini bu dizine çıkartıyoruz. Bu dizini classpath değişkeninde belirtip kodlamaya başlıyoruz.

import java.io.*;
import java.sql.*;

public class OraThin {                                                                                                                                                                
    public static void main(String[] args) {                                                                                                                                          
        try {                                                                                                                                                                         
            Connection con = null;
            Class.forName("oracle.jdbc.driver.OracleDriver");              
            con=DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:dbname",
                "username",
                "password");
            Statement s = con.createStatement();
            ResultSet rs = s.executeQuery("SELECT * FROM KISI");

            String name;
            String surname;

            while(rs.next()) {
                name    = rs.getString("AD");
                surname = rs.getString("SOYAD");

                System.out.println("Name: " + name + ", Surmame: " + surname);
            }

            s.close();
            con.close();
        } catch(Exception e){e.printStackTrace();}
    }
} 
Categories: Programlama Tags: , , ,

Çıkmaz demeyin şansınızı deneyin – 2

April 17th, 2008 No comments

Buradaki yazımdan esinlenip yazdım bunu. Azıcık java öğrendim artık uygulama yapma zamanıdır. Eminim daha güzel (hatta belki benim ki iğrenç bi koddur(:) yazılabilir. Ama şimdilik bunu yapabiliyorum.

public class Sayisal {
	int[] _kupon = new int[6];
	int _num;
	public Sayisal(){
		int sira = 0;
		while (sira < 6) {
			_num = (int) (1 + Math.random() * 49);
			if (!varmi(_kupon, _num)) 
				_kupon[sira++] = _num;
		}
	}
	
	private boolean varmi(int[] kupon, int num) {
		for (int x: kupon) {if (x == num) return true;}
		return false;
	}
	
	public String toString(){
	   String kuponStr = "";
	   for (int i = 0; i < 6; i++) kuponStr += (_kupon[i] + " ");
		return kuponStr;
	}
	
	public static void main(String[] args){
		byte kuponSayisi;
		if (args.length == 0) kuponSayisi = 1;
			else kuponSayisi = Byte.parseByte(args[0]);
			
		for (int i = 1; i <= kuponSayisi; i++){
			System.out.print(" " + i + ".kupon: ");
		System.out.println((new Sayisal()).toString());
		}
	}
}

java Sayisal
şeklinde girerseniz tek kolon oynayacaktır. eğer
java Sayisal 4
derseniz 4 kolon oynayacaktır.
Sayısal Kaynak kodları.
Sayısal derlenmiş hali.

Categories: Programlama Tags: , , ,

Güzel bir java dökümanı

April 15th, 2008 No comments

Bugun harıl harıl güzel bir java dökümanı arıyordum. Karşıma http://www.godoro.com çıktı. İçinde gayet güzel bilgiler bulunuyor. Şuraya da güzel bir java kitabı koymuşlar. Giriş için gayet hoş bir kitap olmuş, yeterince açıklayıcı ve bol örnekleri de koymayı unutmamışlar. Arkadaşlara yaptıklarından dolayı teşekür ediyorum. Kitabı çevrim dışı kullanmak isterseniz buradan indirip kullanabilirsiniz.

Categories: Programlama Tags: , ,