일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- JPOP
- 프랑스어기초
- 프랑스어
- 마무리구원투수내동생땡큐
- MarketingCloud
- 힘들다
- 세일즈포스
- 프랑스어배우는이유
- 마케팅클라우드
- 다먹어치움
- 제목은음식인데
- 셀포
- 힘들어도
- 더이상의 자세한 설명은 생략한다
- 국비과정
- 음식사진없음
- 프랑스어단어
- 윈도우 #크롬탭 #크롭탭복사 #크롬탭복제 #크롬사용법 #크롬꿀팁 #업무꿀팁 #일상꿀팁
- 생산성 #24시간알차게 #올해의시간트레이닝 #셀프코치
- SF
- Today
- Total
뚜벅이
0307 국비 미니프로젝트지옥경험중.. +정처기필기합격 본문
소켓(socket) 다시 복습.
- 컴퓨터가 연결된 컴퓨터의 끝점(전기의 소켓과 유사한 개념)
- 정보 송신 : 소켓에 보낼 정보를 Write
- 정보 수신 : 소켓으로부터 정보를 Read
- TCP/IP 소켓
TCP 소켓
UDP 소켓
* 네트워크의 필수 조건
- IP 주소 : PC 고유의 주소 (ex. 192.168.0.1)
- Port 번호 : 16bit (0 ~ 65535)
하나의 컴퓨터에서 다수개의 네트웍 관련 프로그램이 서로 다른 포트를 사용하여 동시에 실행
실제 네트워크 라인은 하나
논리적인 개념
- 프로토콜 : TCP, UDP <- 약속
- 기타 : subnet mask, dns, gateway 등
2. TCP 통신
* TCP 통신
- 패킷(packet) 단위로 전송
연결성 통신 방식(전화)
신뢰성 보장
TELNET, HTTP, FTP 등
- 효율이 떨어진다
* 자바의 TCP 구현을 위한 클래스들
- InetAddress 클래스
- Socket 클래스
- ServerSocket 클래스
정보처리기사 채점.
43411 -3
24412 -1
22113 -1
34243 75
24433
32213
12413 -1
12113 95
21114 -1
23213
33132 -2
41341 85
43231 -2
12412 -1
13441 -1
43443 80
23433
43334 -1
42132 -2
14322 -4 65
75 95 85 80 65 = 가채점상 평균 80?으로합격~
-
1. 현재 상태는 serversocket.accept()로 대기상태가 되면
당연하지만 1명하고만 정상적인 통신이 가능합니다.
중간에 다른컴퓨터로 똑같은 URL을 요청하면 모든게 꼬여버리죠. 결과도 안나오고
2. 그래서 하려는 것은 멀티스레드로 여러사람이 동시에 이용할 수 있게 구현하는것이고,
이것을 mvc패턴의 컨트롤러내에서 처리를 하고 싶습니다.
(구글내의 기본적인 코드를 보면 server쪽도 main()함수가 있는 java application프로젝트라서)
이것이 가능한지 가능하면 방법은 어떤것인지
불가능하다면 어떤 방식으로 만들어야하는지를 알고 싶습니다.
0
-
623
2016-08-12 16:21:18
https://spring.io/blog/2012/05/07/spring-mvc-3-2-preview-introducing-servlet-3-async-support
위 문서 참고하셔서 비동기로 text파일 전송하고 결과값 돌려주면 되지 않을까요?
0
-
363
2016-08-12 16:52:35
소켓을 전역에서 한번만 선언해서 쓰시는건가요?
소켓을 여러개 생성해서 돌려가며 사용하면 되지 않을까 싶어요...(pooling)
0
-
즈루시
2016-08-12 16:58:14
소켓 통신을 꼭 해야한다면 스프링(앱) 기동시 서버 프로그램 컴포넌트 하나 달아서 기동시키면 됩니다.
뭔가 생각을 너무 어렵게 하고 계신건 아니신지도...
http://stackoverflow.com/questions/26936721/how-do-i-set-up-a-spring-tcp-client-and-server-model
덧. 혹시나 컨트롤러에 요청때마다 서버 소켓을 열고 계신건 아니시죠?
컨트롤러는 요청때마다 돌고 있는 컴포넌트(서버)에 해당 요청을 넘겨주는 일만 하셔야 합니다.
0
-
129
2016-08-12 17:11:47
답변 정말 감사합니다.
제가 생각치도 못한 답변만 있어서 정말 큰 도움 될것 같습니다. 해보고 다시 질문하러 오겠습니다.
0
-
4k
2016-08-12 18:27:43
동기식IO는 요청 한 건당 스레드를 발생시켜서 처리되는 구조입니다.
클라이언트를 멀티스레드로 구현할 것이 아니라 서버 구성을 멀티스레드로 구현해야 될 것 같아요.
위에 올리신 코드 보니 서버를 멀티스레드로 구현하지 않은 듯 보이네요.
'국비과정 JAVA공부' 카테고리의 다른 글
0315 이 프로젝트 기간은. 응용을 극한으로 끌어내야 하는 시간인데.. (0) | 2021.03.15 |
---|---|
for question (0) | 2021.03.08 |
2월 23일 io 등... 잡다한메모들 (0) | 2021.02.23 |
0222 정리들 (0) | 2021.02.23 |
JAVA SWING 복습 구현 밑그림. + 기타공부 (0) | 2021.02.21 |