Accueil > > > API WINSOCK
API WINSOCK
Information sur la source
Description
Les APIs de Winsock (ce serai plus simple avec l activeX). Sorry ya pas de zip ...
Source
- Declare Function Socket Lib "wsock32.dll" Alias "socket" (ByVal afinet As Integer, ByVal socktype As Integer)
- Declare Function connect Lib "wsock32" (ByVal sock As Long, name As SOCK_ADDR, ByVal namelen As Integer) As Long
- Declare Function bind Lib "wsock32" (ByVal sock As Long, addr As SOCK_ADDR, ByVal namelen As Long) As Long
- Declare Function listen Lib "wsock32.dll" (ByVal sock As Long, ByVal backlog As Integer) As Integer
- Declare Function send Lib "wsock32" (ByVal sock As Long, buffer As Any, ByVal length As Long, ByVal flags As Long) As Long
- Declare Function recv Lib "wsock32" (ByVal sock As Long, buffer As Any, ByVal length As Long, ByVal flags As Long) As Long
- Type IN_ADDR
- S_addr As Long
- End Type
- Type SOCK_ADDR
- sin_family As Integer
- sin_port As Integer
- sin_addr As IN_ADDR
- sin_zero(0 To 7) As Byte
- End Type
- 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- 'module
- Public Const PF_INET = 2
- Public Const SOCK_STREAM = 1
- Public Const SOCK_DGRAM = 2
- Public Const IPPROTO_IP = 0
- Public Const IPPROTO_TCP = 6
- Public Const IPPROTO_UDP = 17
- Public Const INVALID_SOCKET = -1
- Public Const SOCKET_ERROR = -1
- Public Const INADDR_ANY = &H0
- Public Const SOCKET_ERROR = -1
- Public Const MSG_OOB = &H1
- Public Const MSG_DONTROUTE = &H4
- Public Const MSG_OOB = &H1
- Public Const MSG_PEEK = &H2
- 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-
-
- 'connecter
-
- Dim CR As Long
- Dim sock As Long
- Dim RemoteServer As SOCK_ADDR
-
- RemoteServer.sin_family = AF_INET
- RemoteServer.sin_port = htons(2000)
- RemoteServer.sin_addr.S_addr = inet_addr("XXX.XXX.XXX.XXX")
- RemoteServer.sin_zero(0) = 0
- CR = connect(sock, RemoteServer, Len(RemoteServer))
-
-
-
- 'Création d 'un socket
-
- Dim sock As Long
-
- sock = Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
-
-
-
- 'Port
-
- Dim CR As Long
- Dim LocalServer As SOCK_ADDR
-
- LocalServer.sin_family = AF_INET
- LocalServer.sin_port = 0
- LocalServer.sin_addr.S_addr = INADDR_ANY
-
- CR = bind(sock, LocalServer, Len(LocalServer))
-
-
- 'listen
-
- Dim CR As Long
- Dim sock As Long
-
- CR = listen(sock, 1)
-
- 'Envoyer
-
- Dim CR As Long
- Dim longSend As Long
-
- longSend = Len(chaine)
- ReDim buff(longSend + 1) As Byte
-
- For i = 1 To longSend
- buff(i - 1) = Asc(Mid(chaine, i, 1))
- Next
- buff(longSend) = 0
-
- CR = send(sock, buff(0), longSend, 0)
-
- 'recevoir
-
- Const MAX_BUFF_SIZE = 10000
- Dim buff(0 To MAX_BUFF_SIZE) As Byte
- Dim sock As Long
- Dim CR As Long
-
- CR = recv(sock, buff(0), MAX_BUFF_SIZE, 0)
-
-
- 'Fermer un socket
-
- Dim Result As Long
- Dim sock As Long
-
- Result = closesocket(sock)
-
-
-
-
Declare Function Socket Lib "wsock32.dll" Alias "socket" (ByVal afinet As Integer, ByVal socktype As Integer)
Declare Function connect Lib "wsock32" (ByVal sock As Long, name As SOCK_ADDR, ByVal namelen As Integer) As Long
Declare Function bind Lib "wsock32" (ByVal sock As Long, addr As SOCK_ADDR, ByVal namelen As Long) As Long
Declare Function listen Lib "wsock32.dll" (ByVal sock As Long, ByVal backlog As Integer) As Integer
Declare Function send Lib "wsock32" (ByVal sock As Long, buffer As Any, ByVal length As Long, ByVal flags As Long) As Long
Declare Function recv Lib "wsock32" (ByVal sock As Long, buffer As Any, ByVal length As Long, ByVal flags As Long) As Long
Type IN_ADDR
S_addr As Long
End Type
Type SOCK_ADDR
sin_family As Integer
sin_port As Integer
sin_addr As IN_ADDR
sin_zero(0 To 7) As Byte
End Type
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
'module
Public Const PF_INET = 2
Public Const SOCK_STREAM = 1
Public Const SOCK_DGRAM = 2
Public Const IPPROTO_IP = 0
Public Const IPPROTO_TCP = 6
Public Const IPPROTO_UDP = 17
Public Const INVALID_SOCKET = -1
Public Const SOCKET_ERROR = -1
Public Const INADDR_ANY = &H0
Public Const SOCKET_ERROR = -1
Public Const MSG_OOB = &H1
Public Const MSG_DONTROUTE = &H4
Public Const MSG_OOB = &H1
Public Const MSG_PEEK = &H2
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
'connecter
Dim CR As Long
Dim sock As Long
Dim RemoteServer As SOCK_ADDR
RemoteServer.sin_family = AF_INET
RemoteServer.sin_port = htons(2000)
RemoteServer.sin_addr.S_addr = inet_addr("XXX.XXX.XXX.XXX")
RemoteServer.sin_zero(0) = 0
CR = connect(sock, RemoteServer, Len(RemoteServer))
'Création d 'un socket
Dim sock As Long
sock = Socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
'Port
Dim CR As Long
Dim LocalServer As SOCK_ADDR
LocalServer.sin_family = AF_INET
LocalServer.sin_port = 0
LocalServer.sin_addr.S_addr = INADDR_ANY
CR = bind(sock, LocalServer, Len(LocalServer))
'listen
Dim CR As Long
Dim sock As Long
CR = listen(sock, 1)
'Envoyer
Dim CR As Long
Dim longSend As Long
longSend = Len(chaine)
ReDim buff(longSend + 1) As Byte
For i = 1 To longSend
buff(i - 1) = Asc(Mid(chaine, i, 1))
Next
buff(longSend) = 0
CR = send(sock, buff(0), longSend, 0)
'recevoir
Const MAX_BUFF_SIZE = 10000
Dim buff(0 To MAX_BUFF_SIZE) As Byte
Dim sock As Long
Dim CR As Long
CR = recv(sock, buff(0), MAX_BUFF_SIZE, 0)
'Fermer un socket
Dim Result As Long
Dim sock As Long
Result = closesocket(sock)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|