Может кто угодно поделится простым кодом для VB 2008, чтобы открыть порт. Я хотел бы, чтобы это было как utorrent, как вы можете изменить порт прослушивания для передачи данных. Большое спасибо, если вы можете мне помочь!Открыть порт с vb?
ответ
uTorrent - это ничего, кроме «простого кода». Это сложное приложение с большим количеством сетевой логики, выходящей за рамки простого открытия порта и нажатия битов в него и из него.
Но отправной точкой для обработки сообщений низкого уровня будет пространство имен System.Net.Sockets
, которое содержит класс Socket
. Он позволяет управлять низким уровнем, например, открывать порт, прослушивать соединения и обрабатывать их самостоятельно.
Here's учебник о программировании сокетов в VB.NET, но вы, вероятно, найдете больше информации, если будете искать «C# Socket tutorial». Синтаксис C# немного отличается от VB.NET, но он использует те же классы и те же концепции, поэтому вы, вероятно, сможете применить уроки к своему собственному коду.
As Avner указал, uTorrent не простой код. Если вы хотите что-то сделать на этом уровне, вам нужно много сделать.
Вот простая программа сокетов, которую вы можете использовать.
Imports System.Net
Imports System.Net.Sockets
Module Module1
Sub Main()
Console.WriteLine("Enter the host name or IP Address to connect to:")
Dim hostName = Console.ReadLine().Trim()
If hostName.Length = 0 Then
' use the local computer if there is no host provided
hostName = Dns.GetHostName()
End If
Dim ipAddress As IPAddress = Nothing
' parse and select the first IPv4 address
For Each address In Dns.GetHostEntry(hostName).AddressList
If (address.AddressFamily = AddressFamily.InterNetwork) Then
ipAddress = address
Exit For
End If
Next
' you will have to check beyond this point to ensure
' there is a valid address before connecting
Dim client = New TcpClient()
Try
' attempt to connect on the address
client.Connect(ipAddress, 80)
' do whatever you want with the connection
Catch ex As SocketException
' error accessing the socket
Catch ex As ArgumentNullException
' address is null
' hopefully this will never happen
Catch ex As ArgumentOutOfRangeException
' port must be from 0 to 64k (&HFFFF)
' check and ensure you've used the right port
Catch ex As ObjectDisposedException
' the tcpClient has been disposed
' hopefully this will never happen
Catch ex As Exception
' any other exception I haven't dreamt of
Finally
' close the connection
' the TcpClient.Close() method does not actually close the
' underlying connection. You have to close it yourself.
' http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B821625
client.GetStream().Close()
' then close the client's connection
client.Close()
End Try
End Sub
End Module
Следует иметь в виду, что программирование сокетов довольно сложно, и вам придется тщательно протестировать свой код для всех случаев краев.
Удачи вам!
большое спасибо. Очень полезно! :) –
- 1. Как открыть порт с PHP?
- 2. Как открыть порт UDP?
- 3. Открыть дополнительный порт Shift
- 4. Открыть порт в minikube
- 5. Как открыть занятый последовательный порт (общий порт) с помощью pyserial
- 6. Как открыть порт в centOS
- 7. Как открыть порт (входящий) с помощью Java?
- 8. Как открыть последовательный порт с помощью pyserial?
- 9. Как открыть порт в Kubuntu
- 10. открыть порт для отправки писем
- 11. Docker: невозможно открыть порт 8080
- 12. Python не смог открыть порт
- 13. Как открыть последовательный порт программно?
- 14. Открыть и закрыть приложение с VB .NET
- 15. Как открыть консоль в VB
- 16. Открыть и использовать порт TCP
- 17. Как открыть порт на сервере
- 18. C#/ASP.net/PostBack/Открыть порт
- 19. Открыть DataTable в Excel VB
- 20. Как открыть мой порт/что блокирует мой порт?
- 21. список открытых портов, закрыть порт и открыть порт под CentOS
- 22. Как открыть последовательный порт по дружественному имени?
- 23. Служба Windows не может открыть COM-порт
- 24. хочет открыть USB порт, используя Java
- 25. Невозможно открыть порт отладчика в IntellJ IDEA
- 26. Как открыть определенный порт на RHEL 6.4?
- 27. Как открыть последовательный порт Arduino без перезапуска
- 28. Как открыть порт на вычислительном двигателе Google
- 29. Как открыть файлы COMXX (последовательный порт)
- 30. Как открыть порт 1935 на Centos 5.7
спасибо, но мне понравилось это в VB. –