네트워크 서버 생성 함수 설명
network_create_server_raw
함수는 게임을 위한 새로운 네트워크 서버를 생성하는 기능을 제공합니다. 이 함수는 허용된 연결 프로토콜 중 하나를 사용하여 서버를 설정합니다. 아래에서 이 함수의 사용법과 예제를 설명합니다.
함수 설명
- 함수 이름:
network_create_server_raw
- 기능: 새로운 네트워크 서버 생성
- 인자:
type
: 소켓 타입 상수 (서버의 종류)port
: 서버가 사용할 포트 번호max_client
: 동시에 연결할 수 있는 최대 클라이언트 수
반환값
- 서버의 고유 ID (네트워크 소켓 ID)
- 연결 실패 시 0보다 작은 값
사용 예제
아래의 코드는 TCP를 사용하여 포트 6510에서 서버를 생성하려고 시도합니다. 만약 해당 포트가 사용 중이라면, 다른 포트를 찾아서 서버를 생성합니다.
var port = 6510;
server = network_create_server_raw(network_socket_tcp, port, 32);
while (server < 0 && port < 65535) {
port++;
server = network_create_server_raw(network_socket_tcp, port, 32);
}
인자 설명
인자 | 타입 | 설명 |
---|---|---|
type | Socket Type Constant | 생성할 서버의 타입 (아래 상수 참조) |
port | Real | 서버가 사용할 포트 |
max_client | Real | 동시에 연결할 수 있는 최대 클라이언트 수 |
활용 예제
- 서버 생성 후 클라이언트 연결 대기
gml var server = network_create_server_raw(network_socket_tcp, 6510, 32); if (server >= 0) { show_message("서버가 성공적으로 생성되었습니다."); } else { show_message("서버 생성 실패."); }
- 서버 종료
gml network_destroy(server);
- UDP를 사용한 데이터 전송
gml var data = "Hello, Client!"; network_send_udp_raw(server, data);
- 서버 상태 확인
gml if (server < 0) { show_message("서버가 작동하지 않습니다."); }
이와 같은 방식으로 network_create_server_raw
함수를 활용하여 게임의 네트워크 서버를 생성하고 관리할 수 있습니다.