Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: Server Client
     
    
Добавлено: 25.07.06 23:53
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 dahool | ICQ: 248-138-272 
      
       
  
Люди, я новый пользователь этого форума. помогите пожалуйста, мне срочно нужно чтоб на мой комп могли подключится. типо на моем компе сервер, а еще два клиента могут присылать текстовые сообщения, и я тоже мог им отпровлять. ну типо чат только простенький, без наворотов! Спасибо.
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 27
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 LamerOnLine
![]()
![]()
![]()
ICQ: 334781088 
Вопросов: 108
Ответов: 2822
      
 Профиль |  | #1
       
Добавлено:  26.07.06 11:10
       
    
       
  
Net Send  
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 Pashenko
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 176176951 
Вопросов: 14
Ответов: 655
      
 Профиль |  | #2
       
Добавлено:  26.07.06 11:29
       
    
       
  
2 LamerOnLine: а что, ловить net send-овские сообщения кто-то уже научился?
 
    
2 dahool: у меня есть недоделанная локальная аська, если возьмёшься доделать, кину исходники.
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 Softer
![]()
![]()
ICQ: 203660381  
Вопросов: 29
Ответов: 205
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  26.07.06 12:29
       
    
       
  
Pashenko: Мне мож кинуть?
 
    
dahool: Через WinSock на своем компе слушаешь какой-нить порт, а на клиентах подключаешься к етим портам. Потом на серваке парсируешь риходяшие сообщения и выполняешь свои действия.
Вроде так...
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 Pashenko
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 176176951 
Вопросов: 14
Ответов: 655
      
 Профиль |  | #4
       
Добавлено:  26.07.06 12:41
       
    
       
  
2 Softer: а точно дописывать будешь? Если просто побаловаться, то не хочу.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 Softer
![]()
![]()
ICQ: 203660381  
Вопросов: 29
Ответов: 205
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  26.07.06 12:44
       
    
       
  
Не, мне в образовательных целях. Может и допишу... Еси время будет...  
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 dahool
![]()
![]()
![]()
![]()
![]()
ICQ: 248-138-272 
Вопросов: 5
Ответов: 4
      
 Профиль |  | #6
       
Добавлено:  26.07.06 19:19
       
    
       
  
Мне типо тока код нужен самых основных комманд, а то мой пример,  не хочет конектится. не, аська мне не надо, слишком круто (но спасибо), что то по проще!!!
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 LeX
![]()
![]()
![]()
ICQ: 301424893 
Вопросов: 28
Ответов: 277
      
 Web-сайт:  
 Профиль |  | #7
      
Добавлено:  27.07.06 23:38
       
    
       
  
 
    
). В этом шаге мы сделаем простую программу типо Клиент - Сервер.
Клиент - это программа которая посылает сигналы серверу, а сервер ждет сигналов клиента(ну ты меня понял?). Начнемс...
Для начала сделаем Сервер, он будет ждать сигнала клиента, и когда клиент выйдет на связь, можно будет посылать сигналы от сервера к клиенту, и наоборот. Короче будет что то типо чата.
Войди в VB(Standart Exe), подключи компонент МелкоСофт Winsock Контрол 6.0, на понели инструментов появится объект Winsock, закинь его на форму. На форму кинь еще 2 текстовых поля(1ое - отправка сообщений, 2ое - прием сообщений). Вот код:
Private Sub Form_Load()
Winsock1.LocalPort = 101 ' Указываем порт который будет слушать Сервер
Winsock1.Listen ' Начинаем Слушать порт
Form1.Caption = "Сервер" 
End Sub 
Private Sub Text1_Change() ' При изменении текста в текстовом поле:
Winsock1.SendData Text1.Text ' Посылаем клиенту текст который введен в текстовое поле
End Sub 
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close ' Если сервер не закрыт, то закрываем его(подробнее смотри ниже)
Winsock1.Accept requestID ' Принимаем запрос
End Sub 
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Если Клиент посылает текст то:
Dim D As String ' Объявляем переменную для работы со строками
Winsock1.GetData D ' Записываем в переменную текст, который был послан Клиентом
Text2.Text = D ' Здесь все понятно, скажу только что нельзя напрямую писать Winsock1.GetData Text1.Text, надо обязательно через переменную
End Sub 
Ну усе, сервер готов, теперь надо сделать Клиент. Ой... чуть не забыл... короче вот таблица:
Константа  Описание  
sckClosed  Такое значение стоит при запуске программы или когда порт закрыт  
sckOpen  Порт открыт  
sckListening  Порт прослушивается  
sckConnectionPending  Ожидание связи  
sckConnecting  Подключение к хосту  
sckConnected  Связь установлена  
sckClosing  Связь закрывается...  
sckError  Ошибка  
Вот про это я и говорил, в строке If Winsock1.State <> sckClosed Then, вместо sckClosed ты можешь вписать любую константу из таблицы. 
Теперь мы сделаем клиент, на форму опять кинь контрол Winsock, 2 тектовых поля, вот код:
Private Sub Form_Load()
Winsock1.RemoteHost = "127.0.0.1" ' Указываем IP компа, на котором запущен сервер(В место IP`a можно указать имя компа(Мой Компьютер>>Панель управления>>Сеть>>Индефикация(Winsock1.RemoteHost = "Komp"
))(если ты сейчас не в сети(ил в локалке), то твой IP всегда будет 127.0.0.1)
Winsock1.RemotePort = 101 ' Указываем порт сервера
Winsock1.Connect ' Подключаемся
Form1.Caption = "Клиент"
End Sub
Private Sub Text1_Change() ' При изменении текста:
Winsock1.SendData Text1.Text ' Отправляем текст
End Sub 
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Если сервер посылает текст то:
Dim DD As String ' Объявляем переменную для работы со строками
Winsock1.GetData DD ' Записываем в переменную текст, который был послан Сервером
Text2.Text = DD
End Sub 
Все, теперь запусти Сервер, а потом Клиент. Впиши в Текстовое поле текст, и он появится в другом текстовом поле(если текст вписан в сервер, то он появится в клиенте, и наоборот).
Из учебника Падре.
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 Sacred Phoenix
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 304238252 
Вопросов: 52
Ответов: 927
      
 Профиль |  | #8
       
Добавлено:  27.07.06 23:58
       
    
       
  
 
    
). В этом шаге мы сделаем простую программу типо Клиент - Сервер. 
Клиент - это программа которая посылает сигналы серверу, а сервер ждет сигналов клиента(ну ты меня понял?). Начнемс... 
Для начала сделаем Сервер, он будет ждать сигнала клиента, и когда клиент выйдет на связь, можно будет посылать сигналы от сервера к клиенту, и наоборот. Короче будет что то типо чата. 
Войди в VB(Standart Exe), подключи компонент МелкоСофт Winsock Контрол 6.0, на понели инструментов появится объект Winsock, закинь его на форму. На форму кинь еще 2 текстовых поля(1ое - отправка сообщений, 2ое - прием сообщений). Вот код: 
Private Sub Form_Load() 
Winsock1.LocalPort = 101 ' Указываем порт который будет слушать Сервер 
Winsock1.Listen ' Начинаем Слушать порт 
Form1.Caption = "Сервер" 
End Sub 
Private Sub Text1_Change() ' При изменении текста в текстовом поле: 
Winsock1.SendData Text1.Text ' Посылаем клиенту текст который введен в текстовое поле 
End Sub 
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) 
If Winsock1.State <> sckClosed Then Winsock1.Close ' Если сервер не закрыт, то закрываем его(подробнее смотри ниже) 
Winsock1.Accept requestID ' Принимаем запрос 
End Sub 
...
Слухай, LeX, это ты такой корявый, или учебник?
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа:
 LeX
![]()
![]()
![]()
ICQ: 301424893 
Вопросов: 28
Ответов: 277
      
 Web-сайт:  
 Профиль |  | #9
      
Добавлено:  28.07.06 08:58
       
    
       
  
Учебник наверно  
    
))) Я даже не читал... Нашел нужный контрол, скопировал и все...
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа:
 AgentFire
![]()
![]()
![]()
ICQ: 192496851 
Вопросов: 75
Ответов: 3178
      
 Профиль |  | #10
       
Добавлено:  28.07.06 12:20
       
    
       
  
Феникс, а тебе лишь бы на чужие ощибки указывать?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа:
 Sacred Phoenix
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 304238252 
Вопросов: 52
Ответов: 927
      
 Профиль |  | #11
       
Добавлено:  28.07.06 13:38
       
    
       
  
Агент, нет, мне не лишь бы на чужие "ощибки" указывать
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа:
 Серёга
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 262809473 
Вопросов: 17
Ответов: 561
      
 Web-сайт:  
 Профиль |  | #12
      
Добавлено:  28.07.06 15:02
       
    
       
  
 
    
))
Я чё-то не понял, это форум по программированию или по русскому языку???
		
	  
			 
	
		 
    
       
    
Номер ответа: 13 
      
Автор ответа:
 Softer
![]()
![]()
ICQ: 203660381  
Вопросов: 29
Ответов: 205
      
 Web-сайт:  
 Профиль |  | #13
      
Добавлено:  28.07.06 15:36
       
    
       
  
Скарее второе  
    
.
ЗЫ: Причем почти в каждой теме!
ЗЗЫ: Сорри за флуд и оффтопик...
		
	  
			 
	
		 
    
       
    
Номер ответа: 14 
      
Автор ответа:
 Sacred Phoenix
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 304238252 
Вопросов: 52
Ответов: 927
      
 Профиль |  | #14
       
Добавлено:  28.07.06 20:33
       
    
       
  
Просто противно читать безграмотные посты. Таким вот субъектам надо советовать сначала изучить свой родной язык, а потом уже браться за язык(и) программирования.
 
    
ЗЫ. Сорри за флуд и оффтопик...
		
	  
			 
	
		 
    
       
    
Номер ответа: 15 
      
Автор ответа:
 Серёга
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 262809473 
Вопросов: 17
Ответов: 561
      
 Web-сайт:  
 Профиль |  | #15
      
Добавлено:  28.07.06 21:26
       
    
       
  
Понятно.
 
    
Не хватает запятой после слова "сначала"