2014-09-25 4 views
1

Я, вероятно, читал десятки ответов и тем через Интернет, но я все еще не хватает чего-то, чтобы исправить эту ошибку. У меня есть TIdPop3Server и TIdSMTPServer, и я хочу их активировать, но я просто не могу сделать это успешно. Я установил ReuseSocket свойство как для rsTrue, и я не оставляя Bindings пустым, когда я пытаюсь установить их обоих .Active := True; Это как мой код выглядит следующим образом:Не удалось связать сокет. Адрес и порт уже используются - с использованием TIdSMTPServer и TIdPop3Server

with POP3Server do begin 
    ReuseSocket := rsTrue; 
    Active := False; 
    Bindings.Clear; 
    DefaultPort := 110; 
    Bindings.Add.IP := myIpAddr; 
end; 
with SMTPServer do begin 
    ReuseSocket := rsTrue; 
    Active := False; 
    Bindings.Clear; 
    DefaultPort := 25; 
    Bindings.Add.IP := myIpAddr; 
end; 

И у меня есть TButton, что Я нажимаю, где это называется:

SMTPServer.Active := True; 
Pop3Server.Acive := True; 

Если кто-то уже исправила эту проблему он может сказать мне, как он сделал это (надеюсь, что я уже не читал его ответ где-то еще ...)

+1

Пожалуйста, сообщите, что сервер не запускается. Мое предположение - POP3Server, и это может быть ваша почтовая программа, блокирующая порт. –

+0

Оба сервера дают ту же ошибку. –

+1

Затем вы должны найти NETSTAT, чтобы знать, что блокирует ваши порты. –

ответ

4

Ты сделал не сказать, какой сервер не может связываться. Но на самом деле ничего не поделаешь. Что-то еще на вашем компьютере, вероятно, антивирус или брандмауэр, уже использует один из этих портов. Используйте инструмент, например Netstat или TCPViewer, чтобы узнать, какой процесс использует эти порты.