반응형

serUDP.java


package practice;

import java.net.*;

public class serUDP {

	public static void main(String[] args) {
		
		try{
			DatagramSocket dsoc = new DatagramSocket(8977);
			
			byte tex [] = new byte [512];
			
			DatagramPacket dp = new DatagramPacket(tex, tex.length);
			
			while(true){
			dsoc.receive(dp);
			
			System.out.println("송신 IP " +  dsoc.getInetAddress());
			
			String msg = new String(dp.getData(),"UTF-8");
			System.out.println("내용" + msg);
			
			}
		}catch(Exception e){System.out.println(e.getMessage());}
						
	}

}


UDPClient.java


import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.*;


public class UDPClient {

	public static void main(String[] args) {
		// 키보드 입력 받기 위한 변수
		Scanner scanner = new Scanner(System.in);
		System.out.println("보낼 메세지 입력 :");
		String msg = scanner.next();
		
		try{
			// 전송할 수 있는 UDP 소켓 생성
			DatagramSocket dsoc = new DatagramSocket();
			
			// 받을 곳의 주소 생성
			InetAddress ia = InetAddress.getByName("127.0.0.1");
			
			// 전소할 데이터 생성
			DatagramPacket dp = new DatagramPacket(msg.getBytes(),msg.getBytes().length,ia, 7779);
			
			//epdlxj wjsthd
			dsoc.send(dp);
			dsoc.close();
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
	
		
		
	}

}



반응형

ConnectThread.java


package UrlTextDownload;

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


// 웹에서 문서를 다운로드 받는 Thread Class
public class ConnectThread extends Thread {
	
	// 다운로드 받는 주소 변수
	String urlStr;
	
	// 다운로드 받을 주소를 넘겨받아서 멤버 편수에 저장하는 생성자
	public ConnectThread(String urlStr){
		this.urlStr = urlStr;
		
	}
	
	// Thread로 동작할 메소드 - 제정의
	public void run(){
		
		final String output = request(urlStr);
		System.out.println("가져온 내용 : " + output);			
	}
	
	// 실제 다운로드를 수행해서 문자열을 리턴할 메소드
	private String request(String urlStr){
		// 다운로드 받은  문자열을 저장할 변수
		StringBuilder html = new StringBuilder();
		
		try{
			// 다운로드 받을 URL객체 생성
			URL url = new URL(urlStr);
			// URL에 연결할수 있는 객체 생성
			HttpURLConnection conn = 
					(HttpURLConnection)url.openConnection();
			// 객체 생성에 성공하면
			if( conn == null){
				
				// 연결설정
				// 연결 시도시간 설정
				conn.setConnectTimeout(5000);
				// 캐시사용 여 부
				conn.setUseCaches(false);
				
				// 정상적인 연결이 이루어지려면
				if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
					// 문자열을 읽어올 Reader 생성
					BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
					
					while(true){
						String line = in.readLine();
						if(line == null)
								break;
							html.append(line + "\n");			
					}//while
					in.close();
				}//if
				conn.disconnect();
			}//if
			
		}catch(Exception e){
			System.out.println(e.getMessage());
			
		}// Try & catch
		
		return html.toString();
	}
	

}



DownloadFile.java



package UrlTextDownload;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.*;
import java.util.*;

public class DownloadFile implements Runnable {

	// 다운로드 받을 주소와 저장할 파일명을 위한 변ㅅ
	String mAddr;
	String mFile;
	
	//생성자
	public DownloadFile(String mAddr, String mFile) {
		this.mAddr = mAddr;
		this.mFile = mFile;
	
	}

	public void run() {
		// 다운로드 받을 주소를 만들기 위한 변수
		URL imageUrl;
		// 데이터를 바이트다윈로 읽을 때 읽을 위치를 저장할 변수
		int read;
		try{
			// 다운로드 받을 URL 생성
			imageUrl = new URL(mAddr);
			// 연결 객체 생성
			HttpURLConnection conn = (HttpURLConnection)imageUrl.openConnection();
			
			// 연결된 파일의 크기 가져오기
			int len = conn.getContentLength();
			// 데이터를 저장할 배열생성
			byte raster [] = new byte [len];
			// 웹에서  읽어올 스트림 생성  - 일반 파일을 읽는 경우
			InputStream is = conn.getInputStream();
			// 파일에 기록할 스트림 생성
			FileOutputStream fos = new FileOutputStream(mFile);
		
			while(true){
				// is 에서  읽어서 raster에 젖ㅇ하고 읽은 마지막위치를 read에 ㅈ장
				read = is.read(raster);
				
				// 읽은데이터가 없다면
				if(read <= 0){
					break;
				}
				// raster 배열에서 0부턴 read 만큼 읽어서 fos에 기록
				fos.write(raster,0,read);
			}
			is.close();fos.close();conn.disconnect();
			
			
		}catch(Exception e){System.out.println(e.getMessage());}
		
		
	}

	
}



Main.java


package UrlTextDownload;

import java.io.File;

public class Main {

	public static void main(String[] args) {

//		ConnectThread th = new ConnectThread("www.naver.com");
//		th.start();
		
		// 다운로드 받을 파일의 주소를 생성
		String imageUrl = 
				"";
				//"http://sangjinhan.files.wordpress.com/2014/06/056_ebb095ebb3b4ec9881.jpg";
				//"http://sangjinhan.files.wordpress.com/2014/06/056_ebb095ebb3b4ec9881.jpg;
		// 파일명을 만들기 우해서 마지막 /의 윛를 찾아오기
		int idx = imageUrl.lastIndexOf("/");
		// 마지막 /뒤에 문자열 가져오기
		String localimage =
				imageUrl.substring(idx+1);
		// 파일 경로 생성
		String path = "c://download//" + localimage;
		// 파일이 있으면 그냥 넘어가고 없으면 다운로드
		if(new File(path).exists()){
			System.out.println("파일이  이미 존재합니다");
		}else{
			System.out.println("Download");
			//Runnable을  implements한 경우에는 스레드위 생성과 시작
			DownloadFile down = new DownloadFile(imageUrl,path);
			Thread th = new Thread(down);
			th.start();
		}
		
	}

}


반응형

FileSendClient.java


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


public class FileSendClient {

	public static void main(String[] args) {
		// 파일이름을 입력받기 위한 변수
		Scanner scanner = new Scanner(System.in);
		System.out.println("전송할 파일이름 : ");
		
		// 전송할 곳의 주소를 저장할 변수
		String ip = "127.0.0.1";
		// 파일명을 저장할 변수
		String filename = null;
		// 파일의 내용을 읽을 변수
		DataInputStream dis = null;

		// 파일 이름 입력 받기
		filename = scanner.next();
		
		// 입력 받은 이름으로 file 객체 생성
		File file = new File(filename);
		
		// 파일이 없다면 프로그램 종료
		if(file.exists() == false){
			System.out.println("파일이 존재하지 않습ㄴ디ㅏ");
			System.exit(0);
		}
	
		try{
			
			// UDP 소켓 생성
			DatagramSocket socket = new DatagramSocket();
			// 전송할 곳이 주소생성
			InetAddress ia = InetAddress.getByName("127.0.0.1");
			// 파일 전송하기 위해 start라는 문자열 전송
			String str = "start";
			// 전송할 객쳋 생성
			DatagramPacket dp = new DatagramPacket(str.getBytes(), str.getBytes().length);
			// 전송
			socket.send(dp);
			
			// 파일의 냉ㅇ을 저장할 배열
			byte [] by = new byte[512];
			
			// 모든 내용을 읽어서 전송
			while(true){
				int xx = dis.read(by, 0, by.length);
				if(xx == -1)
					break;
					dp = new DatagramPacket(by, xx , ia , 9875);
				
				str = "end";
				dp = new DatagramPacket(str.getBytes(), str.getBytes().length,ia,9876);
				socket.send(dp);
			
				dis.close();
				socket.close();
			}
		}catch(Exception e){
			System.out.println(e.getMessage());
			}
	}

}



FileReceiveServer.java



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


public class FileReceiveServer {

	public static void main(String[] args) {
		// 문자열로 이루어진 파일을 전송받는 프로그랭
		
		// 전송받을 UDP 소켓을 생성
		try {
			DatagramSocket socket = new DatagramSocket(9875);
			System.out.println("수신 준비 완료.......");
			
			// 전송받은 내용을 저장할 함수
			File file = null;
			// 데이터를 전송받을 Stream 변수
			DataOutputStream dos = null;
			
			while(true){
				// 전송받을 데이터 패킷 생성
				DatagramPacket dp = new DatagramPacket(new byte[512], 512);
				// 데이터 전송받기
				socket.receive(dp);
				// 전송받은 데이터 를 문자열료 변환
				String str = new String(dp.getData()).trim();
				// 전송받은 문자열이 strat 라면 받으룬비
				if(str.equals("start")){
					System.out.println(" 전송 시작  ");
					// 파일 객체 생성
					file = new File("c://download//a.txt");
					// 파일 쓰기 객체 새엉
					dos = new DataOutputStream(new BufferedOutputStream(
							new FileOutputStream(file)));
					}
					//end가 ㅇ면 종료
					else if(str.equals("end")){
						System.out.println("전송완료");
						socket.close();break;
						
					}
					else{
						// dos에 연결된 파일에 str의 바이ㅌ 배열은 0부터 부ㅜ터 길이많큼 기록
						dos.write(str.getBytes(),0,str.getBytes().length);
					}
					
				}	
				dos.close();
			
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		

	}

}



반응형
import java.net.InetAddress;


public class IpDisplay {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try{
			// 네이버의 IP 정보를 출력
			InetAddress [] ia = InetAddress.getAllByName("naver.com");
			for(InetAddress imsi : ia){
				System.out.println(" naver IP : "+imsi.getHostAddress());
			}
			// 자신의 IP 출력
			InetAddress local = InetAddress.getLocalHost();
			System.out.println("My PC IP :" + local.getHostAddress());
			
		}catch(Exception e){
			// 예외가 발생했을 때 예외의 내용을 출력
			System.out.println(e.getMessage());
		}

	}

}

반응형

MulticastServer.java


import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;


public class MulticastServer {

	public static void main(String[] args) {
		
		
		try{
			MulticastSocket mul = new MulticastSocket(9000);
			
			mul.joinGroup(InetAddress.getByName("127.0.0.1"));
			
			while(true){
				
				byte msg [] = new byte [512];
				
				DatagramPacket dp = new DatagramPacket(msg, msg.length);
				
				mul.receive(dp);
				
				//System.out.println("보낸 곳 : " + dp.getAddress());
				
				System.out.println("보낸  메세지"+ new String(dp.getData()).trim());
				 
			}
			
		}catch(Exception e){
			System.out.println(e.getMessage());}

	}

}


MulticastClient.java


import java.net.*;
import java.util.*;

public class MulticastClient {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// socket
		MulticastSocket ms = null;
		
		
		
		Scanner scanner = new Scanner(System.in);
		System.out.print("별명을 입력하세요 :");
		String in = scanner.next();
		InetAddress ia = null;
		
		while(true){
			
		System.out.print("송신할 데이터를 입력하세요 :");
		in = scanner.next();
		
		try{
			ms = new MulticastSocket(9999);
			
			ms.joinGroup(
			ia = InetAddress.getByName("230.100.50.5"));
			
			DatagramPacket dp = new DatagramPacket(in.getBytes(),in.getBytes().length,ia,9999);
			
			ms.send(dp);
			
			ms.close();
			
		}catch(Exception e){
			System.out.println(e.getMessage());
		}//try & catch

		} //While
		//scanner.close();
	}// Main
}



'JAVA > Java' 카테고리의 다른 글

[JAVA] UDP 를 사용한 파일 전송  (0) 2014.11.18
[JAVA] 자신의 ip 확인 및 IP 출력  (0) 2014.11.18
[JAVA] TCP Server, Client (Socket)  (0) 2014.11.18
[JAVA] UDP Server, Client 만들기 (Socket)  (1) 2014.11.18
[JAVA] swing Frame  (0) 2014.11.18
반응형

TcpServer.java


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

public class TcpServer {

	public static void main(String[] args) {
		
		   // 서버소켓 변수
	      ServerSocket ss = null;
	      // 접속할 클라이언트 소켓변수
	      Socket socket = null;
	      try {
	         // 서버소켓생성
	         ss = new ServerSocket(9999);
	         System.out.println("서버 대기중 ");
	         while (true) {
	            // 클라이언트가 접속 할때까지 대기하다가 접소하면
	            // 그 정보를 socket에 저장
	            socket = ss.accept();
	            // 클라이언트 정보출력
	            System.out.println("접속자 정보 : " + socket);
	            // 클라이언트에서 보낸 한줄의 메시지를 출력
	            BufferedReader in = new BufferedReader(
	                  new InputStreamReader(
	                        socket.getInputStream()));
	            String msg = in.readLine();
	            System.out.println("보낸 메시지 : "+msg);
	            //클라이언트와의 연결 끊기
	            in.close();
	            socket.close();
	         }

	      } catch (Exception e) {
	         System.out.println(e.getMessage());
	      }

//		
//		// 서버 소켓변수
//		ServerSocket ss =null;
//		
//		// 접속할 클라이언트 소켓 변수
//		Socket socket = null;
//		
//		try{
//			
//			ss = new ServerSocket(9999);
//			System.out.println(" 서버 대기 중 입니다...");
//		
//			while(true){
//				// 클라이언트가 접속할 때까지 기다린다.
//				// 클라이언트가 접속하면 그 정보를 socket 에저장
//				socket = ss.accept();
//				
//				//클라이언트 정보 출력
//				System.out.println(" 접속자 정보 : " + socket);			
//		
//				// 클라이언트에서 보낸 한줄의 메세지를 출력
//				BufferedReader in = 
//						new BufferedReader(
//								new InputStream(
//										socket.getInputStream()));
//				String msg = in.readLine();
//				System.out.println("보낸 메세지 : " + msg);
//				//클라이언트 연결 끊기
//				in.close();
//				socket.close();
//				ss.close();
//			}
//			
//		}catch(Exception e){
//			System.out.println(e.getMessage());
//		}
//		
		
		

	}

}


TcpClient.java


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


public class TcpClient {

	public static void main(String[] args) {
		
		// 접속할 서버의 주소를 저장할 변수
		InetAddress ia = null;
		
		// 서버에 접속할 소켓 변수
		Socket socket = null;
		
		// 테이터를 전송할  Write 변수
		PrintWriter out = null;
		
		
		try{
			// 서버 주소생성
			ia = InetAddress.getByName("127.0.0.1");
			// 서버 연결
			socket = new Socket(ia,8888);
			// 서버에 메세지 전송
			out = new PrintWriter(socket.getOutputStream());
			out.println("" + "\n");
			out.flush();
			// 접속 끊기
			socket.close();
			
			
		}catch(Exception e){
			System.out.println(e.getMessage());
		}

	}

}



'JAVA > Java' 카테고리의 다른 글

[JAVA] 자신의 ip 확인 및 IP 출력  (0) 2014.11.18
[JAVA] Multicast Server, Client (Socket)  (0) 2014.11.18
[JAVA] UDP Server, Client 만들기 (Socket)  (1) 2014.11.18
[JAVA] swing Frame  (0) 2014.11.18
[JAVA] swing Table 만들기  (2) 2014.11.18
반응형

UDPClient.java


import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.*;


public class UDPClient {

	public static void main(String[] args) {
		// 키보드 입력 받기 위한 변수
		Scanner scanner = new Scanner(System.in);
		System.out.println("보낼 메세지 입력 :");
		String msg = scanner.next();
		
		try{
			// 전송할 수 있는 UDP 소켓 생성
			DatagramSocket dsoc = new DatagramSocket();
			
			// 받을 곳의 주소 생성
			InetAddress ia = InetAddress.getByName("127.0.0.1");
			
			// 전소할 데이터 생성
			DatagramPacket dp = new DatagramPacket(msg.getBytes(),msg.getBytes().length,ia, 7779);
			
			//epdlxj wjsthd
			dsoc.send(dp);
			dsoc.close();
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
	
		
		
	}

}


UDPServer.java


import java.net.DatagramPacket;
import java.net.DatagramSocket;


public class UDPServer {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try{
			// 상대방이 연결할수 있도록 UDP 소켓 생성
			DatagramSocket dsoc = new DatagramSocket(7777);
			// 전송받은 데이터를 지정할 바이트 배열선언
			byte [] date = new byte[66536];
			
			// UDP 통신으로 전송을 받을 packet 객체생성
			DatagramPacket dp = new DatagramPacket(date, date.length);
			
			System.out.println("데이터 수신 준비 완료....");
			while(true){
				// 데이터 전송 받기
				dsoc.receive(dp);
				// 데이터 보낸곳 확인
				System.out.println(" 송신 IP : " + dp.getAddress());
				// 보낸 데이터를 Utf-8에 문자열로 벼환
				String msg = new String(dp.getData(),"UTF-8");
				System.out.println("보내 온 내용  : " + msg);
			}
	
			
			
		}catch(Exception e){
			System.out.println(e.getMessage()
					);		}

	}

}


'JAVA > Java' 카테고리의 다른 글

[JAVA] Multicast Server, Client (Socket)  (0) 2014.11.18
[JAVA] TCP Server, Client (Socket)  (0) 2014.11.18
[JAVA] swing Frame  (0) 2014.11.18
[JAVA] swing Table 만들기  (2) 2014.11.18
[JAVA] swing 메뉴바 만들기  (0) 2014.11.18
반응형
package Swing;

import javax.swing.JFrame;

public class TestJFrame extends JFrame {
	

	public TestJFrame(){
		
		setTitle("Hello JFrame");
		
		setBounds(300,300,400,400);
		setVisible(true);
		
		
		// 종료기능
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}


}

'JAVA > Java' 카테고리의 다른 글

[JAVA] TCP Server, Client (Socket)  (0) 2014.11.18
[JAVA] UDP Server, Client 만들기 (Socket)  (1) 2014.11.18
[JAVA] swing Table 만들기  (2) 2014.11.18
[JAVA] swing 메뉴바 만들기  (0) 2014.11.18
[JAVA] swing  (0) 2014.11.18
반응형

package Swing; import java.io.File; import javax.swing.*; import javax.swing.table.DefaultTableModel; public class TableTest extends JFrame { public TableTest(){ // 테이블에 출력할 컬럼 이름 배열 String columnNames[] = {"이름","전화번호","주소" }; // 테이블에 출력할 데이터 배열 String data[][] ={ {"이순신", "1044", "충남 논산"}, {"프로도", "4444", "경기 성남"}, {"실바나스", "9999", "스콜지"},}; DefaultTableModel model = new DefaultTableModel(data,columnNames); JTable tbl = new JTable(model); //JTable tbl = new JTable(data,columnNames); // Table은 JScrollPane위에 출력해야 컬럼 이름이 출력된다! 명심할것 JScrollPane scoll = new JScrollPane(tbl); add(scoll); //add(tbl); setTitle("Alive"); setBounds(100,100,300,300); setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); // 단순 메세지 출력 //JOptionPane.showMessageDialog(this,"안녕하세에ㅛ","반갑습니다",JOptionPane.INFORMATION_MESSAGE); int result =JOptionPane.showConfirmDialog( this,"확인 대화상자","확인",JOptionPane.YES_NO_CANCEL_OPTION); System.out.println(result); String msg = JOptionPane.showInputDialog(this,"InputDialog~ ","F12"); System.out.println(msg); // File f = new File(""); // String fileName = f.getName(); // String name = ""; // for(int i=0; i

'9'){ // name += ch; // } // System.out.println("name"); } }


'JAVA > Java' 카테고리의 다른 글

[JAVA] UDP Server, Client 만들기 (Socket)  (1) 2014.11.18
[JAVA] swing Frame  (0) 2014.11.18
[JAVA] swing 메뉴바 만들기  (0) 2014.11.18
[JAVA] swing  (0) 2014.11.18
[JAVA] swing ImageButton 만들기  (0) 2014.11.18
반응형
package Swing;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

public class MenuTest extends JFrame {
	
	public MenuTest(){
		
	setTitle("Menu && PopUp");
	
	setBounds(150,150,350,350);
	setVisible(true);
		
	// 메뉴 바생성
	JMenuBar mu= new JMenuBar();
	JMenu menu1 = new JMenu("대화상자(P)");
	menu1.setMnemonic('p');
	
	JMenuItem item1 = new JMenuItem("Open");
	item1.setMnemonic('o');
//	item1.addActionListener(new ActionListener() {
//
//		public void actionPerformed(ActionEvent arg0) {
//			JOptionPane.showMessageDialog(self,"열기를누룸","Open",JOptionPane.INFORMATION_MESSAGE);
//			
//		}
//	});
	menu1.add(item1);
	
	
	JMenuItem item2 = new JMenuItem("Save");
	item1.setMnemonic('s');
	menu1.add(item2);
	
	this.addMouseListener(new MouseAdapter(){
		
		public void mousePressed(MouseEvent e){
			
			
			//마우스 오른쪽 누르는것을 확인하는것
		//	if(e.isPopupTrigger())
		}
	});
	
	mu.add(menu1);
	
	// 프레임에 부착
	setJMenuBar(mu);
	}

}

'JAVA > Java' 카테고리의 다른 글

[JAVA] swing Frame  (0) 2014.11.18
[JAVA] swing Table 만들기  (2) 2014.11.18
[JAVA] swing  (0) 2014.11.18
[JAVA] swing ImageButton 만들기  (0) 2014.11.18
[JAVA] Serializable 사용하기  (0) 2014.11.18

+ Recent posts