#python #ios #sockets
#python #iOS #сокеты
Вопрос:
Я работаю над приложением для 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"];
}
Ответ №1:
Почему вы добавили эту строку:
данные = sock.recv(0)
Кроме того, ваш сервер, хотя имя client может быть более подходящим, кажется хорошим.
Если он не выводит то, что вы ожидаете, я предлагаю вам использовать некоторые инструменты сниффера, такие как wireshark, чтобы проверить, что он действительно получает.