26. 네트워크 프로그래밍
8648 단어 (27일) Java 기초 학습 노트
26.02_네트워크 프로그래밍(네트워크 프로그래밍의 세 가지 요소의 IP 개술)(파악)
26.03_네트워크 프로그래밍(네트워크 프로그래밍 3요소의 포트 번호 개술)(파악)
26.04_네트워크 프로그래밍(네트워크 프로그래밍 3요소 프로토콜)(파악)
26.05_네트워크 프로그래밍(Socket 통신 원리 도해)(이해)
26.06_네트워크 프로그래밍(UDP 전송)(이해)
26.07_네트워크 프로그래밍(UDP 전송 최적화)
DatagramSocket socket = new DatagramSocket(6666); // socket
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024); // packet
while(true) {
socket.receive(packet); //
byte[] arr = packet.getData();
int len = packet.getLength();
String ip = packet.getAddress().getHostAddress();
System.out.println(ip + ":" + new String(arr,0,len));
}
DatagramSocket socket = new DatagramSocket(); // socket
Scanner sc = new Scanner(System.in);
while(true) {
String str = sc.nextLine();
if("quit".equals(str))
break;
DatagramPacket packet = // packet
new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName("127.0.0.1"), 6666);
socket.send(packet); //
}
socket.close();
public class Demo3_MoreThread {
/**
* @param args
*/
public static void main(String[] args) {
new Receive().start();
new Send().start();
}
}
class Receive extends Thread {
public void run() {
try {
DatagramSocket socket = new DatagramSocket(6666); // socket
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024); // packet
while(true) {
socket.receive(packet); //
byte[] arr = packet.getData();
int len = packet.getLength();
String ip = packet.getAddress().getHostAddress();
System.out.println(ip + ":" + new String(arr,0,len));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Send extends Thread {
public void run() {
try {
DatagramSocket socket = new DatagramSocket(); // socket
Scanner sc = new Scanner(System.in);
while(true) {
String str = sc.nextLine();
if("quit".equals(str))
break;
DatagramPacket packet = // packet
new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName("127.0.0.1"), 6666);
socket.send(packet); //
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
26.10_네트워크 프로그래밍(UDP 채팅 전송 기능)
26.11_네트워크 프로그래밍(UDP 채팅 기록 기능)
26.12_네트워크 프로그래밍(UDP 채팅 화면 정리)
26.13_네트워크 프로그래밍(UDP 채팅 진동 기능)
26.14_네트워크 프로그래밍(UDP 채팅 단축키 및 코드 최적화)
26.15_네트워크 프로그래밍 (UDP 채팅 생성jar 파일)
26.16_네트워크 프로그래밍(TCP 프로토콜)(장악)
26.17_네트워크 프로그래밍(TCP 프로토콜 코드 최적화)
Socket socket = new Socket("127.0.0.1", 9999); // Socket ip
InputStream is = socket.getInputStream(); //
OutputStream os = socket.getOutputStream(); //
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintStream ps = new PrintStream(os);
System.out.println(br.readLine());
ps.println(" ");
System.out.println(br.readLine());
ps.println(" ");
socket.close();
ServerSocket server = new ServerSocket(9999); //
Socket socket = server.accept(); //
InputStream is = socket.getInputStream(); //
OutputStream os = socket.getOutputStream(); //
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintStream ps = new PrintStream(os);
ps.println(" ");
System.out.println(br.readLine());
ps.println(" , ");
System.out.println(br.readLine());
server.close();
socket.close();
ServerSocket server = new ServerSocket(9999); //
while(true) {
final Socket socket = server.accept(); //
new Thread() {
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream ps = new PrintStream(socket.getOutputStream());
ps.println(" ");
System.out.println(br.readLine());
ps.println(" , ");
System.out.println(br.readLine());
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
}
26.19_네트워크 프로그래밍(연습)
26.20_네트워크 프로그래밍(연습)