---
title: "[W5300]전송속도 문의입니다."
url: "https://maker.wiznet.io/forum/13645"
markdown_url: "https://maker.wiznet.io/forum/13645/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "KIM"
created: "2020-01-12T13:48:20+09:00"
last_activity: "2020-02-07T03:15:38+09:00"
language: "ko"
views: 1311
replies: 3
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# [W5300]전송속도 문의입니다.

## Question

Asked by KIM on 2020-01-12 in Ethernet Chips.

감사합니다.
w5300 16bit direct모드로 ftp서버를 구현중입니다.
server->client 파일전송시는 10MB/s이상의 속도로 파일전송이 이루어집니다.
client-> server로 전송시에는 1.6KB/s 정도의 속도밖에 나오지 않습니다.
socket() → listen() → send() or recvfrom() → close()로 구성되어 있습니다.

socket(2, Sn_MR_TCP, 19800, 0x00)로 초기화 한 경우나
socket(2, Sn_MR_TCP, 19800, Sn_MR_ND)로 초기화 한 경우나 동일한 상황입니다.
테스트핀출력으로 확인해보니 약5초 간격으로 수신 이벤트가 발생하는 것으로 확인됩니다.
이 5초는 어디에 설정된 것이며, Sn_MR_ND로 딜레이 없도록 설정하여도 이렇게 되는 이유는 무엇인가요?

## Replies

### Reply 1 by KIM, 2020-02-05

답변 감사합니다.
루프문은 아래와 같습니다.

```
	while (1){
		if((len = getSn_RX_RSR(DATA_SOCK)) > 0){
			tov_tmr=OVER_TIME;
			if (len > MAX_BUF_SIZE) len = MAX_BUF_SIZE;
			recv(DATA_SOCK, rx_buf, len);
TP1_LOW;
			ret = f_write(&file, rx_buf, len, &bw);
TP1_HIG;
            if (ret) {
				disconnect(DATA_SOCK);
				sprintf(sckStr, write_fail, path);
				sockPutStr(CTRL_SOCK);
				break;
			}
		}
```

다시 확인한 결과 f_write항목을 제거하면 전송속도는 대략 10MB/정도 나옵니다.
f_write실행시간은 2ms정도 되는데 5초마다 f_write가 연속으로 7회정도 실행되고 나머지시간(5초-14ms)에는 len이 0인 상태입니다.
Wreshark로 캡쳐한 패킷을 첨부하였으니 보시고 회신부탁드립니다.

![파형](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/29c998cddedd02ccba44ea7992d42cb547ecb09d.jpeg) [192.168.10.60.zip](https://maker.wiznet.io/forum/legacyFile.asp?path=bbDFBPXClyZibxrTl4gCBEBUa5s.zip) (5.7 KB) ![파형](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/2/29c998cddedd02ccba44ea7992d42cb547ecb09d.jpeg)

### Reply 2 by KIM, 2020-02-06

감사합니다.
강제전송 코드를 넣으니 증상이 개선됩니다.
그런데 한가지 문제가 더 발견되었습니다.
수신시 마다 len의 크기를 계속 더해보니 ftp로 보낸 파일의 크기보다 2가 큰 현상이 발견되었습니다.
받은 파일을 hex편집기로 열어보니 파일의 마지막에 임의의 2byte가 추가 되어 있습니다. 이부분도 확인 부탁드립니다.
파일의 크기에 관계없이 항상 +2입니다.
강제전송코드를 제거해도 같은 현상입니다.

### Reply 3 by KIM, 2020-02-07

recv함수의 리턴값을 받으니 증상이 없어지네요.
답변 감사합니다.
그럼 수고하십시오

---

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