Networking from iPad to PC

So here’s what I’m trying to do: create a controller on the iPad that connects to a PC (I suppose it could be a Mac, but preferably PC) so you can control the game on the PC via the iPad. Right now I’m using the MasterServer just to test, but whenever the iPad tries to connect to the PC it says “connection failed”. Is connection between iPad and PC possible? I don’t see why it wouldn’t. Maybe there is something I should add to the iPad version. Below is my code. It’s mostly just copy paste from a tutorial. Idealistically, I would like to use Bluetooth, instead of Wifi, but every route I’ve tried with that has failed.

var playerPrefab:GameObject;
var spawnObject:Transform;
var gameName:String = "Lab_Test";

private var refreshing:boolean;
private var hostData:HostData[];

private var btnX:float;
private var btnY:float;
private var btnW:float;
private var btnH:float;

function Start() {
	btnX = Screen.width * 0.05;
	btnY = Screen.width * 0.05;
	btnW = Screen.width * 0.1;
	btnH = Screen.width * 0.1;
}

function startServer() {
	Network.InitializeServer(32, 25001, !Network.HavePublicAddress);
	MasterServer.RegisterHost(gameName, "Test Game", "This is a test. This is only a test.");
	
}

function refreshHostList() {
	MasterServer.RequestHostList(gameName);
	refreshing = true;
}

function Update() {
	if(refreshing) {
		if(MasterServer.PollHostList().Length > 0) {
			refreshing = false;
			Debug.Log(MasterServer.PollHostList().Length);
			hostData = MasterServer.PollHostList();
		}
	}
}

function spawnPlayer() {
	Network.Instantiate(playerPrefab, spawnObject.position, Quaternion.identity, 0);
}


//Messages
function OnServerInitialized() {
	Debug.Log("Server Initialized");
	spawnPlayer();
}

function OnConnectedToServer() {
	spawnPlayer();
}

function OnMasterServerEvent(mse:MasterServerEvent) {
	if (mse == MasterServerEvent.RegistrationSucceeded) {
		Debug.Log("Registered Server!");
	}
}

//GUI
function OnGUI() {
	if(!Network.isClient && !Network.isServer) {
		if (GUI.Button(Rect(btnX, btnY, btnW, btnH), "Start Server")) {
			Debug.Log("Starting Server");
			startServer();
		}
		if (GUI.Button(Rect(btnX, btnY * 1.2 + btnH, btnW, btnH), "Refresh Hosts")) {
			Debug.Log("Refreshing");
			refreshHostList();
		}
		if (hostData) {
			for(var i:int = 0; i<hostData.length; i++) {
				if(GUI.Button(Rect(btnX * 1.5 + btnW, btnY * 1.2 + (btnH * i), btnW * 3, btnH * 0.5), hostData*.gameName)) {*

_ Network.Connect(hostData*);_
_
}_
_
}_
_
}_
_
}_
_
}*_

I found the problem. I was testing on a very restricted internet connection. After testing on a normal connection, the code worked.