Страница: 1 | 2 |
Вопрос: Чего не работает???
Добавлено: 06.08.06 20:12
Автор вопроса: Sacred Phoenix | ICQ: 304238252
Public Class Main
Public Shared pop3Client As System.Net.Sockets.Socket
Public Shared Sub Main()
pop3Client = New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
pop3Client.NoDelay = True
pop3Client.Connect("my.inbox.com", 110)
Console.WriteLine(String.Format("Server: {0}", ReceiveBuffer()))
SendCommand("noop")
Console.WriteLine(String.Format("Server: {0}", ReceiveBuffer()))
Console.ReadKey()
End Sub
Public Shared Function ReceiveBuffer() As String
Dim readBuffer(1023) As Byte
Dim Received As Integer
Dim Result As String = ""
Received = pop3Client.Receive(readBuffer)
Do While (Received > 0)
Result &= System.Text.Encoding.ASCII.GetString(readBuffer)
System.Array.Clear(readBuffer, 0, readBuffer.Length)
Received = pop3Client.Receive(readBuffer)
Loop
Return Result.Substring(0, Result.IndexOf(Microsoft.VisualBasic.Strings.Chr(0)))
End Function
Public Shared Sub SendCommand(ByVal Command As String)
Dim sendBuffer(1023) As Byte
sendBuffer = System.Text.Encoding.ASCII.GetBytes(Command & Microsoft.VisualBasic.ControlChars.NewLine)
pop3Client.Send(sendBuffer)
End Sub
End Class
Меня уже бесит это всё!
1. При отладке, когда вся прога проставлена в брекпоинтах, Received = pop3Client.Receive(readBuffer) возбухает ошибку, типа хост закрыл соединение. Почему??? Главное, если брекпоинт с этой строки снять, то всё нормально :(
2. После отправки чего-либо серверу коммандой .Send, сервер перестаёт что-либо отправлять, т.е. всё та же злополучная строчка вовзращает 0... Почему?
3. И кстати, всё эта же строчка, только та, что в цикле, тормозит выполнение проги на 30-60 сек. Почему?
Заранее спасибо
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 07.08.06 12:55
Насколько я знаю, для TCP есть свой класс.. System.Net.Sockets.TcpClient попробуй поковырять его..
И судя по pop3Client ты пытаешься отправить почту.. если это так, то можно это сделать гораздо проще... буквально в несколько строчек..
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 07.08.06 16:23
А это так.. для информации...
Microsoft.VisualBasic.ControlChars.NewLine = vbNewLine
Номер ответа: 3
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #3
Добавлено: 07.08.06 19:16
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 07.08.06 21:38
Char.ConvertFromUtf32(13)
Отправляет на ура.. на счет получения не знаю.. не пробовал ..
Номер ответа: 5
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #5
Добавлено: 07.08.06 22:04
Номер ответа: 6
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #6
Добавлено: 07.08.06 22:04
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 07.08.06 22:43
как так?? Почту уже по pop3, по 110-ому отправляют?
>Меня уже бесит это всё!
1) Видать при отладке сервер нехочет тебя ждать, и закрывает соединение...
2) из за 1
3) из за 2
Это предположение.
Номер ответа: 8
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #8
Добавлено: 07.08.06 23:30
Номер ответа: 9
Автор ответа:
Георгий
Вопросов: 6
Ответов: 5
Web-сайт:
Профиль | | #9
Добавлено: 08.08.06 11:29
Номер ответа: 10
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #10
Добавлено: 08.08.06 13:02
Номер ответа: 11
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #11
Добавлено: 09.08.06 05:25
Что за бред?
В .NET есть две группы классов для отправки почты, один - System.Web.Mail - отправляет через CDO, второй - System.Net.Mail - отправляет напрямую на SMTP-сервер.
Сответственно, второй можно использовать и никаких служб здесь нет!
Номер ответа: 12
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #12
Добавлено: 09.08.06 11:13
Можно черес localhost без всяких проблем,
ищи примеры, были.
Номер ответа: 13
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #13
Добавлено: 09.08.06 13:04
2all: что можно сказать по сабжу?
Номер ответа: 14
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #14
Добавлено: 09.08.06 19:31
Насчет Chr(0) и т.д. - смотрите ControlChars.
13&10 - это ControlChars.CRLF. Нулевой может быть тоже там есть.
Номер ответа: 15
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #15
Добавлено: 09.08.06 20:22