본문 바로가기

Java49

Http Get 요청 - 인증된 사용자만 세션키 받아오기 서버와 통신하기 위해 만들었다 HttpURLConnection을 이용하여 통신하였으며, GET method를 이용하여 올바른 사용자 이름과 비밀번호를 제공해야 sessionKey를 할당 받게 만들었다. 간단한 권한 부여를 만들기 위해 예를 든 내용이기 때문에 실제 환경에서는 더 강력한 인증, 권한을 부여해줘야 한다. 또한 여기에서는 자바만이 보여지는데 실제로는 DB를 사용해서 정보를 저장해야한다. 전체코드import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONE.. 2023. 9. 9.
Java 음성 소켓 통신(서버, 클라이언트) 기초 ✔ Server import java.io.*; import java.net.*; import javax.sound.sampled.*; public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket = null; try { // 서버 소켓 생성 serverSocket = new ServerSocket(12345); System.out.println("서버가 12345번 포트에서 연결 요청을 기다리고 있습니다..."); // 클라이언트 연결 대기 Socket clientSocket = serverSocket.accept(); System.out.println("클라이언트가 접속.. 2023. 4. 21.
JAVA 채팅 프로그램 ✔ JAVA 채팅 프로그램 쓰레드 병렬처리 ServerSocket의 accept() 실행하면 해당 작업이 완료되기전까지 블로킹(blocking)이 일어남 쓰레드를 사용하면 블로킹이 일어나는 현상을 해결할 수 있음 DataInputStream - 기본 데이터타입 단위로 데이터를 읽을 수 있음 - byte 단위로 데이터를 읽는 것이 아님 - readUTF() : UTF-8(모든 언어가 사용가능한) 형식으로 코딩된 문자열을 읽을 수 있음 DataOutputStream - 기본 데이터타입 단위로 데이터를 쓸 수 있음 - byte 단위로 데이터를 쓴는 것이 아님 - writeUTF() : UTF-8(모든 언어가 사용가능한) 형식으로 코딩된 문자열을 출력할 수 있음 서버 import java.io.DataInput.. 2022. 10. 20.
JAVA (TCP/IP, 서버 클라이언트) 2. TCP/IP 네트워킹 소켓(socket) - 두 호스트 사이 연결 - 어떠한 방식으로 통신을 할지도 정해주는 것 - 원격 장비에 연결, 데이터 전송(보내기, 받기), 포트 지정, 수신 대기(서버와 클라이언트 관계(c/s), p2p) ServerSocket 클래스 - 클라이언트의 연결 요청을 기다리면서 연결 수락을 담당하는 클래스 (대기하다가, 일반소켓을 만들고 일반 소켓끼리 통신할 수 있도록 만들어 연결을 해주는 역할) -> 서버부터 실행을 해야한다.(대기상태에서) Socket 클래스 - 연결된 클라이언트와 통신을 담당하는 클래스(사용자가 접속할 수 있는) 문제. 에코서버를 만들어보자. 데이터 클라이언트 -----> 서버 5 밖으로 보넬 아웃풋 스트림을 통해 나갈거 만들고 -> 버퍼에다 담을거기 떄.. 2022. 10. 20.