Найти - Пользователи
Полная версия: передача данных с одного компа на другой
Начало » Python для новичков » передача данных с одного компа на другой
1 2 3
pellon
я вот скрось хотел научиться передовать данные с одного компа на другой.
и нашёл одну статью про это.
там говориться что нужно работать под “управлением АРМа”. что это такое?
и что такое xmpppy?
и jabber?

стоит ли мне изучать эту статью? (она ведь большая)

может можно обойтись без всех этих штук как нибудь? подскажите а то я понахожу непонять чего…
Encore_1908
М…в качестве “почитать” можешь и изучить эту статью. Имхо, тебе надо знать понятие socket ну и все что с ним связано
buddha
-Основы компьютерных сетей, для понимания передачи пакетов данных по сети, для понимания протоколов.
-Модуль socket для реализации передачи данных =) куча примеров в гугле. Вот из документации http://docs.python.org/2/library/socket.html
-Лучше не ориентироваться на короткие статья, они только запутают своей краткостью, не разъяснив необходимых основ(моё мнение).
pellon
спасибо
pellon
вот почитал про socket. вобщем у меня два файла:

файл 1:
import socket, string
def do_something(x):
  lst = map(None, x);
  lst.reverse();
  return string.join(lst, "")
HOST = ""
PORT = 33333
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
srv.bind((HOST, PORT))
while 1:
  print "port 33333"
  srv.listen(1)             
  sock, addr = srv.accept()
  while 1:
    pal = sock.recv(1024)
    if not pal: 
      break
    print "comp %s:%s:" % addr, pal
    lap = do_something(pal)
    print "submit %s:%s:" % addr, lap
    sock.send(lap)
  sock.close()

файл 2:
import socket
HOST = ""
PORT = 33333
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
sock.send("palindrom")
result = sock.recv(1024)
sock.close()
print "comp:", result

первый файл это сервер, а второй это клиент.
вот сервер у меня включается и там написано “port 33333”.
а клиент не включается. почему?
pellon
я тут ещё почитал пару статей и у меня всё хорошо помощь по тем двум файлам не требуется.
FishHook
pellon
print “submit %s:%s:” % addr, lap
Это работать не будет
pellon
lst = map(None, x);
В чем смысл?
pellon
FishHook
В чем смысл?
да я сам не знаю.
сейчас у меня такая проблема:
я хочу чтоб у сервера был ip моего компа. (я свой ip на сайте www.2ip.ru смотрю)
и у моего друга чтоб был клиент который связывается с сервером на моём компе.
как это сделать? у меня чот не получается.

вот код серва:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import pygame
from pygame.locals import *
sock = socket.socket()
sock.bind(('',9090))
sock.listen(1)
conn, addr = sock.accept()
print 'connected:', addr
while True:
    data = conn.recv(1024)
    if not data:
        break
    conn.send(data)
conn.close()

а вот код клиента:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
sock = socket.socket()
sock.connect(('localhost',9090))
hel=raw_input()
sock.send(hel)
data = sock.recv(1024)
sock.close()
print data
input()

помогите
Encore_1908
Например чтобы ваше желание было известно и скрипту, для него сейчас:
Во-первых localhost у клиента
Во-вторых в должны указать явно какой IP у сервака
В-третьих совет: попробуйте Hamachi для организации одной подсети. Так будет проще вашей программе
pellon
hamachi у меня есть, да. это нужно ip hamachi писать? а какой порт будет?
а у клиента я “localhost” просто зыбыл написать
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB