Я работаю над приложением IOS. Я начинаю с сервера python на Mac, который должен подключиться к iphone и распечатать данные, отправленные с iphone. соединение, похоже, установлено, но python печатает бесконечные "b" "как данные... Я не знаю, почему.
странно, что это происходит и с cocoaAsynchronousSocket
это сервер
#!/usr/bin/python
import time
import socket
import sys
addr = sys.argv[1]
port = 4444
if not addr :
print ("No host address specified, plese specify an address", files=sys.stderr)
sock = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
print ("connecting...")
try:
sock.connect ((addr, port))
except socket.error:
print ("unable to connect to", addr)
sys.exit(0)
print ("Connected to", addr)
while 1:
data = sock.recv(0)
data2 = sock.recv(1)
# if not data: break
print (data)
print (data2)
и это код, который я использую для создания соединения
- (IBAction)openPressed:(id)sender {
socket = [Socket socket];
[socket listenOnPort:4444];
[socket acceptConnection];
[socket writeString:@"connection accepted"];
}
Почему вы добавили эту строку:
data = sock.recv(0)
Кроме того, ваш сервер, хотя клиент может быть лучшим именем, кажется хорошим.
Если он не печатает то, что вы ожидаете, я предлагаю вам использовать некоторые инструменты сниффера, такие как wireshark, чтобы проверить, что это действительно получает.