전자공학/MCU
[EPS32] TCP 기초1
17Hyuk
2022. 8. 11. 13:55
저번에 기초를 하긴 했는데 솔직히 내가 생각해도 코드설명이 부실한 것 같아서 다시 썼다.
파이썬
import socket
# TCP
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('192.168.223.41', 9008)) # ip주소, 포트번호 지정
server_socket.listen(0) # 클라이언트의 연결요청을 기다리는 상태
client_socket, addr = server_socket.accept() # 연결 요청을 수락함. 길이가 2인 튜플 데이터를 가져옴
server_socket.close()
이건 단순히 192.168.233.41:9008 이라는 서버를 열고 연결을 수락하는 코드이다.
EPS32
#include <WiFi.h>
const char* ssid = "iptime123"; // Your WiFi SSID
const char* password = "1234567!"; // Your WiFi Password
const char* host = "192.168.223.41"; // ipconfig 이용해서 IPv4 주소 입력
const uint16_t port = 9008;
void setup() {
Serial.begin(9600);
/*WIFI 접속관련*/
WiFi.mode(WIFI_STA); // WIFI_STA : 다른공유기에서 ip주소를 받는다는 의미
WiFi.begin(ssid, password);
while(WiFi.waitForConnectResult() != WL_CONNECTED){} // 연결될때까지 대기
Serial.println("WiFi Connected!");
}
void loop()
{
WiFiClient client; // WiFiClient 를 clinet라고 정의
while(!client.connect(host,port)){} // 접속될때까지 무한루프
Serial.println("TCP Connected");
client.stop();
delay(1000);
}
우선 begin에 있는 코드는 wifi를 접속하는 코드이다.
그리고 loop에 있는 코드는 단순히 아까전 192.168.233.41:9008에 접속을 성공하면 TCP Connected 라는 메시지를
시리얼 프린터에 출력을 하고 종료하는 코드이다.