투케이2K

139. (TWOK/LOGIC) [android] 안드로이드 로컬 Soft Ap 생성 후 소켓 통신 데이터 송수신 로직 - LocalOnlyHotspotReservation 본문

투케이2K 로직정리

139. (TWOK/LOGIC) [android] 안드로이드 로컬 Soft Ap 생성 후 소켓 통신 데이터 송수신 로직 - LocalOnlyHotspotReservation

투케이2K 2025. 4. 25. 21:27

[로직 정리]

정리 로직 : Mobile

상태 : [android] 안드로이드 로컬 Soft Ap 생성 후 소켓 통신 데이터 송수신 로직 - LocalOnlyHotspotReservation

 

[설 명]

// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

- 퍼미션 권한 설정 코드 : 

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-feature android:name="android.hardware.bluetooth_le" />

    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>

    <uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
        android:usesPermissionFlags="neverForLocation"
        tools:targetApi="s"/>

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

1. [ A ] 휴대폰에서는 Soft Ap (LocalOnlyHotspotReservation) 를 활성화 하기 위해 사전 퍼미션 권한 체크 수행

  >> 퍼미션 권한이 부여되어 있지 않은 경우 권한 부여 필요 팝업창 표시


2. [ A ] 휴대폰에서는 권한 체크 완료 후 로컬 Soft Ap 활성 및 생성 된 SSID, PW 정보 확인 , 팝업창 알림으로 해당 정보 표시

  >> 로컬 Soft Ap 는 인터넷을 사용할 수 없지만, 소켓 통신 서버 To 클라이언트 데이터 송수신 가능


3. [ B ] 휴대폰에서는 서버 소켓 역할을 수행할 수 있게 사전) TCP/IP 소켓 서버 프로그램 코딩 작업 진행


4. [ B ] 휴대폰에서는 [ A ] 휴대폰에서 활성한 SSID, PW 정보 확인 후 설정 이동 및 와이파이 연결 수행


5. [ B ] 휴대폰에서는 정상적으로 로컬 Soft Ap 에 연결 된 경우 서버 소켓 활성 및 클라이언트 접속 대기 수행

  >> [ B ] 서버 소켓은 [ C ] 클라이언트가 접속할 수 있게 Soft Ap 에 연결 된 이후 현재 연결 된 와이파이 SSID 확인 후 팝업창으로 IP 정보 표시 필요


6. [ C ] 휴대폰에서는 클라이언트 소켓 역할을 수행할 수 있게 사전) TCP/IP 소켓 클라이언트 코딩 작업 진행


7. [ C ] 휴대폰에서는 [ A ] 휴대폰에서 활성한 SSID, PW 정보 확인 후 설정 이동 및 와이파이 연결 수행


8. [ C ] 휴대폰에서는 정상적으로 로컬 Soft Ap 가 연결 된 경우 [ B ] 서버 소켓이 활성화한 IP 정보 확인 및 특정 PORT 정보 사용해 소켓 접속 시도 수행


9. [ C ] 휴대폰에서는 소켓 접속 완료 시 필요 데이터 서버 소켓과 데이터 송수신 진행

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[C_TcpIp_Server_Single_Socket_Module : TCP IP 소켓 통신 서버 모듈]

https://blog.naver.com/kkh0977/223686535713?trackingCode=blog_bloghome_searchlist


[C_TcpIp_Client_Socket_Module : TCP IP 소켓 통신 클라이언트 모듈]

https://blog.naver.com/kkh0977/223686531844?trackingCode=blog_bloghome_searchlist


[클라이언트 TCP IP 소켓 통신 에러 - SocketException Software caused connection abort]

https://blog.naver.com/kkh0977/223758296345?trackingCode=blog_bloghome_searchlist


[안드로이드 Socket 소켓 통신 시 Request 전달 후 Response 응답을 받지 못하고 소켓 연결 종료 시 처리 로직]

https://blog.naver.com/kkh0977/223779249672?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments