http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-serverStellen Sie eine Socket-Verbindung Iphone mit Server Beispiel von Ray Wunderlich
Von der Python Server-Seite
from twisted.internet.protocol import Factory, Protocol
from twisted.internet import reactor
class IphoneChat(Protocol):
def connectionMade(self):
print "a client connected"
factory = Factory()
factory.protocol = IphoneChat
reactor.listenTCP(80, factory)
print "Iphone Chat server started"
reactor.run()
Dann auf dem Iphone er hat
- (void) initNetworkCommunication {
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"localhost", 80, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}
Jetzt Die Frage, die ich habe, ist von der Iphone-Seite, wie weiß es, was localh ist Ost ist? Ich könnte von dem Computer selbst verstehen, weiß es, was localhost ist, aber auf einem Iphone-Gerät (NICHT der Simulator, der in dem Computer ist, so sollte es localhost wissen). Wie weiß ein iPhone "localhost"?
Laufen Sie einen Python-Server innerhalb des Iphone ??? Wie??? –
Ich würde nicht erwarten, dass dieser Code auf einem echten Gerät funktioniert, es sei denn, "localhost" wird durch einen Hostnamen/ip des Servers ersetzt, auf dem das Python-Skript läuft. –
Python-Server ist der Computer. Iphone ist das Gerät, das versucht, sich mit ihm zu verbinden. Wenn er die App im Simulator ausführt, sind sowohl der Server als auch das Gerät identisch. – lilzz