//UDP 연결 public void RequestUDPConnection(DataPacket packet) { Console.WriteLine(packet.client.RemoteEndPoint.ToString() + "UDP 연결 요청"); string id = loginUser[packet.client]; int roomNum = userState[id].state; string[] ip = new string[roomManager.Room[roomNum].PlayerNum]; int ipIndex = 0; for (int i = 0; i < RoomManager.maxPlayerNum; i++) { if (roomManager.Room[roomNum].Socket[i] != null) { ip[ipIndex] = roomManager.Room[roomNum].Socket[i].RemoteEndPoint.ToString(); ipIndex++; } } UDPConnectionData udpConnctionData = new UDPConnectionData(ip); UDPConnectionPacket udpConnctionDataPacket = new UDPConnectionPacket(udpConnctionData); udpConnctionDataPacket.SetPacketId((int)ServerPacketId.UdpConnection); byte[] msg = CreatePacket(udpConnctionDataPacket); packet = new DataPacket(msg, packet.client); Console.WriteLine("UDP연결 정보 송신"); lock (sendLock) { sendMsgs.Enqueue(packet); } }