---
title: "socket.c 라이브러리 관련 문의"
url: "https://maker.wiznet.io/forum/15759"
markdown_url: "https://maker.wiznet.io/forum/15759/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "KimDoyeon"
created: "2025-06-12T16:01:59+09:00"
last_activity: "2025-06-13T14:16:41+09:00"
language: "ko"
views: 6
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# socket.c 라이브러리 관련 문의

## Question

Asked by KimDoyeon on 2025-06-12 in Ethernet Chips.

귀사의 w5300 칩을 사용하여 이더넷 통신(UDP)를 구현 중에 있습니다.

문의 드릴 사항은 현재 이더넷 통신을 연결하는 과정에서 제공되는 socket.c의 라이브러리 내 308 Line의 close(sn); 함수가 실행 될 경우 통신 연결 과정에서 라이브러리 내에서 무한 루프에 빠져 프로그램이 동작하지 않는 현상이 있습니다.

현재 해당 함수를 주석 처리하여 통신이 정상적으로 수행되는 것을 확인하였으나 신뢰성 시험 등 검증 과정에서 해당 함수에 대한 설명 첨부가 필요하여 해당 사항에 대하여 문의 드립니다.

개발환경 - DSP 28388d, w5300 사용

문의 내용 - close(sn); 함수가 무한 루프에 빠지게 되는 이유, 주석 처리하여 사용하여도 문제가 생기진 않는지 여부

답변 부탁드리겠습니다. 감사합니다.

## Replies

### Reply 1 by Aimee0, 2025-06-13

해당 함수를 주석 처리하여 사용하신다면, 동일한 소켓을 사용하실 때 소켓이 정상적으로 닫히지 않아 리소스 미해제 같은 문제가 생길 가능성이 있습니다.

16bit 프로세서를 사용중이시라면 getSn_CR이나 getSn_SR 과 같이 w5300에 접근할때 16bit 단위로 접근하여 발생하는 문제로 예상됩니다.

w5300.h에서 아래와 같이 수정하여 확인해보시는 것을 추천드립니다.

```
#define getSn_CR(sn) \
   ((uint8_t)WIZCHIP_READ(Sn_CR(sn)) & 0xFF)
```

```
#define getSn_SR(sn) \
		WIZCHIP_READ(Sn_SR(sn) & 0xFF)
```

---

Source: https://maker.wiznet.io/forum/15759
