1.일대일 채팅을 짜시오.(쓰레드 + Socket + IOStream)
package edu.global.chat;
import java.net.ServerSocket;
import java.net.Socket;
import edu.global.chat.way.Receiver;
import edu.global.chat.way.Sender;
public class ChatTcpServer {
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket socket = null;
try {
//포트번호
serverSocket = new ServerSocket(8888);
System.out.println("서버가 준비되었습니다.");
socket = serverSocket.accept();
//System.out.println("연결 되었습니다." + socket.getInetAddress());
Sender sender = new Sender(socket);
Receiver receiver = new Receiver(socket);
sender.start();
receiver.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
package edu.global.chat;
import java.net.ServerSocket;
import java.net.Socket;
import edu.global.chat.way.Receiver;
import edu.global.chat.way.Sender;
public class ChatTcpClient {
public static void main(String[] args) { String serverIP = "127.0.0.1"; Socket socket = null; try { socket = new Socket(serverIP,8888); System.out.println("서버에 연결되었습니다."); Sender sender = new Sender(socket); Receiver receiver = new Receiver(socket); sender.start(); receiver.start(); } catch (Exception e) { e.printStackTrace(); } }
}
package edu.global.chat.way;
import java.io.DataInputStream;
import java.net.Socket;
public class Receiver extends Thread{
private Socket socket;
private DataInputStream in;
public Receiver(Socket socket) {
this.socket = socket;
try {
in = new DataInputStream(socket.getInputStream());
} catch (Exception e) {
// TODO: handle exception
}
}
public void run() {
while(in != null) {
try {
System.out.println(in.readUTF());
} catch (Exception e) {
}
}
}
package edu.global.chat.way;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
import java.util.Scanner;
public class Sender extends Thread{
private Socket socket;
private DataOutputStream out;
private String name;
public Sender(Socket socket) {
this.socket = socket;
try {
out = new DataOutputStream(socket.getOutputStream());
name = "["+socket.getInetAddress()+":"+socket.getPort()+"]";
} catch (Exception e) {
}
}
public void run() {
Scanner scanner = new Scanner(System.in);
while(out != null) {
try {
out.writeUTF(name + scanner.nextLine());
} catch (Exception e) {
}
}
}
}
2.DB란?
유용한 데이터의 집합
검색에 용이하게 데이터를 저장
검색뿐만 아니라 수정, 삭제
3.DBMS 란?
방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해 주는 시스템 소프트 웨어
응용프로그램과 데이터베이스의 중재자로서 모든 응용프로그램들이 데이터베이스를 공용할 수 있게끔 관리해 주는 소프트웨어 시스템
4.DBMS 종류는?
관계형 DBMS: 관계형 DBMS는 가장 일반적인 DBMS 유형으로, 데이터를 테이블과 레코드로 구성합니다. 관계형 DBMS는 데이터를 효율적으로 저장하고 관리할 수 있으며, SQL이라는 표준 언어를 사용하여 데이터를 조작
객체지향 DBMS: 객체지향 DBMS는 데이터를 객체로 구성합니다. 객체지향 DBMS는 관계형 DBMS보다 데이터를 표현하는 데 더 유연하며, 복잡한 관계를 처리하는 데 더 적합
NoSQL DBMS: NoSQL DBMS는 관계형 DBMS와 달리 정규화된 데이터 구조를 사용하지 않습니다. NoSQL DBMS는 대량의 데이터를 처리하고, 복잡한 관계를 처리하는 데 더 적합합니다