아두이노 이더넷 자바 소켓통신 질문드립니다.!
페이지 정보
작성자 좋은망구 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-04-01 17:25 조회3,468회 댓글1건본문
톰켓을 이용해 자바 소켓서버를 만들었습니다.
저희가 하고싶은것은 이더넷쉴드(W5100)를 이용해 측정값을 서버로 전송하고 싶습니다.
1. 아두이노 소켓통신 코드(아두이노가 클라이언트)를 어떤식으로 구성해야할지 알고 싶습니다.
2. 소켓구현시 어떤식으로 측정값을 전송해야하는지 알고 싶습니다.
3. 혹시 소켓통신이 아닌 다른 방법이 있는지 알고 싶습니다.
-------------------------------------------------- 자바 서버 소스 ---------------
import java.io.IOException;
..
@ServerEndpoint("/broadcasting")
public class Broadsocket {
private static Set<Session> clients = Collections
.synchronizedSet(new HashSet<Session>());
@OnMessage
public void onMessage(String message, Session session) throws IOException {
System.out.println(message);
synchronized (clients) {
// Iterate over the connected sessions
// and broadcast the received message
for (Session client : clients) {
if (!client.equals(session)) {
client.getBasicRemote().sendText(message);
}
}
}
}
@OnOpen
public void onOpen(Session session) {
// Add session to the connected sessions set
System.out.println(session);
clients.add(session);
}
@OnClose
public void onClose(Session session) {
// Remove session from the connected sessions set
clients.remove(session);
}
}
댓글목록
최고관리자님의 댓글

1. 아두이노 소켓통신 코드(아두이노가 클라이언트)를 어떤식으로 구성해야할지 알고 싶습니다.
==> 이더넷 라이브러리 설치하면 여러가지 예제가 같이 설치됩니다. 그 중 WebClient 예제를 활용하시면 될 듯 합니다.
https://www.arduino.cc/en/Reference/Ethernet
2. 소켓구현시 어떤식으로 측정값을 전송해야하는지 알고 싶습니다.
==> 보통 GET, POST 방식 중 하나를 사용합니다. 작은 데이터라면 GET 방식으로 URL에 표현해서 보내면 됩니다.
3. 혹시 소켓통신이 아닌 다른 방법이 있는지 알고 싶습니다.
==> TCP/UDP 통신만 가능하다 보시면 될 듯합니다.