일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 빅데이터청년인재
- DataBinding Error
- 알고리즘
- 코틀린
- flownet
- sending 404
- 이것만보면돼
- 인공지능
- NEXTERS
- 데이터청년캠퍼스
- 소켓통신
- ubuntu
- ubuntu18.04
- cuda-10.2
- 딥러닝
- 청년인재
- 빅데이터
- 자바
- Android
- clean architecture
- 넥스터즈
- nvcc
- IT연합동아리
- 머신러닝
- 백준
- 안드로이드
- utuntu
- resample2d_cuda
- 빅데이터청년캠퍼스
- kotiln
- Today
- Total
보초의 코딩일기장
코틀린을 이용한 사진 관리 어플 만들기 (3) 본문
private inner class ProcessTask(var start: Int, var end: Int) : Thread() {
override fun run() {
var serverSocket: ServerSocket? = null
try {
var hostname: String? = null
var connectSock: Socket? = null
var serverDos: DataOutputStream? = null
var receiveSocket: Socket? = null
var socketAddress: SocketAddress
for (i in start until end) {
if (mSharedData.isConnected) {
break
}
try {
// Server IP 요청을 위한 Server 접속
hostname = mPartialAp[0] + "." + mPartialAp[1] + "." + mPartialAp[2] + "." + i
socketAddress = InetSocketAddress(hostname, Constants.CONNECT_PORT)
Log.d(Constants.TAG, hostname + " : 서버 연결 시도...")
try {
connectSock = Socket()
connectSock?.connect(socketAddress, mTimeout)
} catch (e: SocketTimeoutException) {
continue
}
Log.d(Constants.TAG, hostname + " : 서버 응답 확인!!!")
} catch (e: ConnectException) {
continue
}
....
저번에 봤던 ProcessTask 를 좀 더 자세히 살펴본다면,
hostname으로 아이피를 가져온 다음 hostname 과 포트를 socketaddress에 담고 서버에 접근하는 것 같은데
서버에 반응이 하나도 없다.
Constants Class 에서 아래와 같이 포트를 설정하였는데
...
val CONNECT_PORT=1255
val FILE_SEND_PORT=1256
Servermain.kt
serverSocket =ServerSocket(connectPort) //receivePort 에서 connectPort로 변경
println("서버가 시작되었습니다.")
serverLayout.mConnectInfo.text="연결 대기 중"
//연결되면 통신용 소켓 생성
socket = serverSocket.accept()
println("클라이언트와 연결되었습니다.")
혹시 몰라 포트번호를 바꿔봤더니 연결이 되다가 곧바로 끊어져 버린다.
예제대로 receivePort로 하면 접속 조차 안 되고, connectPort로 하면 접속하자마자 끊긴다.
아무래도 소켓통신을 잘 몰라서 발생하는 문제인 것 같당.
그런데, 재부팅 하고 위 코드를 그대로 적용시키니 서버 접속이 되었다!
지금은 임시방편으로 포트를 바꾸어서 접속이 되었지만
여태까지 왜 안되었는지에 대해서 더 조사해봐야겠다.
#코틀린 #이것만 #보면 #돼
책은 불친절한 부분이 많이 존재한다.
코드에 대한 부분이 뒤죽박죽이어서 차례대로 따라하면 실행이 곧 잘 되지 않는다.
그래서 사전에 지식이 있는 사람이 읽기에 딱 좋은 책이다:)
어느 부분이 뒤죽박죽이고, 어디를 수정해야 할지 딱 보이기 때문이다!
애초에 독자 대상이 코틀린, 안드로이드를 다뤄본 사람이기 때문에 그런 것 같다.
예제에 있는대로 따라하면 실행이 안되니 갑갑할 뿐이다. (하지만 이건 내 실력 때문이라는 것을 안다.)
거의 4일을 삽질했지만.... 삽질한 만큼 지식으로 돌아오기 때문에 이 책을 산 것에 대해 후회는 없다.
그냥 내 실력을 탓할 뿐이다.....
삽질은 좋은 것이다.. 아마도..,,
'Android > Kotlin' 카테고리의 다른 글
코틀린을 이용한 사진 관리 어플 만들기 (2) (0) | 2020.01.07 |
---|---|
코틀린을 이용한 사진 관리 어플 만들기 (1) (2) | 2020.01.07 |
코틀린 이것만 보면 돼 : 3일차 (0) | 2020.01.07 |
코틀린 이것만 보면 돼 : 2일차 (0) | 2020.01.07 |
코틀린 이것만 보면 돼 : 1일차 (0) | 2020.01.07 |