전체 글

// // ViewController.swift // MovieJJK // // Created by comsoft on 2023/05/04. // import UIKit let name = ["1. 가디언즈 오브 갤럭시: Volume 3", "2. 슈퍼 마리오 브라더스", "3. 드림","4. 존 윅 4", "5. 스즈메의 문단속", "6. 옥수역귀신", "7. 리바운드", "8. 더 퍼스트 슬램덩크", "9. 킬링 로맨스", "10. 치치핑핑의 쿵쿵따 탐험대",] // 구조체라 모두 프로토콜을 채택한 것임 struct MovieData: Codable { let boxOfficeResult: BoxOfficeResult } // MARK: - BoxOfficeResult struct BoxOfficeR..
· APP
onPause() 잠시대기 상태 아직 메모리에 남아있음 onStop() 정지상태 : 메모리에서 비워질때 우선 순위가 됨 아직 메모리에 남아있긴함 Destory() 되면 부를때 다시 onCreate() 부터 시작해야함 액티비티 객체 생성 단계 일시 멈춤 상태 정지 되었다가 다시 실행하는 경우 액티비티 생명주기, 실행되는 과정 안드로이드 메모리 관리 https://velog.io/@woga1999/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%9E%AC%EC%83%9D%EC%84%B1 안드로이드 메모리에 관하여 Android 런타임(ART)과 Dalvik 가상 머신은 페이징과 메모리 매핑(mmapping)을 사용하여..
TCP와 비교해 UDP는 간단함 클 라이언트에서 쏘면 서버 쪽에서 받아주는 것만 처리하면 됨 UDP는 목적지까지 가는 데 아니면 말고 잘 전달됐는지 확인할 수 없으면 ACK 같은 게 없어서 APP | 0) { printf("TX: %s\n", p_Buffer); // 송신한 데이터 출력 } // 데이터 수신 bzero(p_Buffer, BUFSIZ); nBufferLen = recvfrom(nSockFd, p_Buffer, BUFSIZ, 0, (struct sockaddr *)&stSAddr, &nSAddr_size); // 소켓으로부터 데이터 수신 if (nBufferLen > 0) { printf("Server Information: \n"); printf("Addr: %s\n", inet_ntoa(..
저번 주 다량의 클라이언트 접근하기 위해 스레드, 포크 기법 사용해 봄 + 블록킹 해결하기 위해서 스레드 기법 사용해 봄 이번 주차는 멀티플렉스라는 방법 사용해 볼 것임 이벤트를 모니터링하고 이벤트 오면 그때 read 블록킹 해결 가능 그중 멀티플렉스에서 SELECT, poll 기법을 사용함 read.c #include #include #include #include #include int main(void) { time_t nTime; // 시간 정보를 담을 변수 char strBuffer[BUFSIZ]; // 문자열을 저장할 버퍼 int nBufferLen = 0; // 버퍼의 길이를 저장할 변수 for(int i = 0; ; i++) // 무한 루프 { memset(strBuffer, 0, BUFS..
· APP
안드로이드 애플리케이션은 화면 하나당 그 화면을 구성하는 디자인 파일 activity_main.xml과 MainActivity.java 파일이 하나씩 존재한다 화면이 5개면 총 10개의 파일이 존재하고 안드로이드 애플리케이션은 사실 MainActivity.java 파일의 집합이다
listen.c #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int nFd; // 소켓 파일 디스크립터 uint16_t nPort; // 포트 번호 struct sockaddr_in sAddr; // 서버 주소 구조체 if (argc != 3) // 명령행 인자로 IP 주소와 포트 번호가 전달되지 않은 경우 { printf("usage: %s \n", argv[0]); return -1; } nPort = atoi(argv[2]); // 문자열 형태의 포트 번호를 정수형으로 변환 printf("IP Address: %s\n", argv[1]); printf("Port: %d\..
친구와 서로의 리눅스에 접근 하는 것을 해봤음 이때 상대의 접속을 받아 들이기 위해 NC라는 프로그램을 이용했음 NET CAT nc -l 하면 서버로 돌리겠다 nc -l -p 8080 해당 포트 번호를 열고 서버를 가동시킴 우선 순위로 따지면 서버가 먼저 동작하고 있어야 하고 외부에 것을 받아들이는 역할도 하고 있어야함 SYN 가 접속을 위한 플레그임 이 접속 관련된 요청을 클라이언트가 먼저 보내고 이것을 서버가 담아두기 위한 대기큐를 생성 하고 있음 대기큐에 들어있는 것에 대하여 접속수 락하면 서비스를 제공함 이전시간에 클라이언트 구조중 socket(), connect(), close() 순으로 연결 해보는 작업을 해보았음이와 상응 되는 서버 쪽을 구현 해볼 것임 서버는 해당 3단계가 네트워크 자원들 ..
https://www.youtube.com/watch?v=Zqwy5h-ST-k https://www.youtube.com/watch?v=XLlTs8zGVQI
개발자 aloe
aloe 기술블로그