Library tutorials & articles

Client Server Programming with Winsock

WinSock Properties & Events

Winsock enables you to create clients and servers using the same control. This dual functionality enables you to specify through property setting the type of application you will be building. The Winsock control uses a number of the same properties, whether you are creating client or a server, thereby all but eliminating the learning curve needed to create applications. Some of the important properties of the control are as following:

BytesReceived Property

This property returns the number of bytes currently in the receive buffer. This is a read-only property and is unavailable at design time. The value returned is a long integer.

LocalHostName Property

The LocalHostName property returns the name of the local host system. This is read-only property and is unavailable at the design time. The value returned is a string.

LocalIP Property

The LocalIP property returns the local host system IP address in the form of a string, such as 11.0.0.127. This property is read-only and is unavailable at design time.

LocalPort Property

This property returns or sets the local port number. This can be both read from and written to and is available at both design time and runtime. The value returned is a long integer.

Protocol Property

Returns or sets the protocol, either TCP or UDP, used by the Winsock control.

RemoteHost Property

The RemoteHost property returns or sets the remote host. This can be both read from and written to and is available both in design time and runtime. The value returned is a string and can be specified either as an IP address or as a DNS name.

RemotePort Property

This property returns or sets the remote port number.

State Property

This returns the state of the control as expressed by an enumerated list. This is read-only property and is unavailable at design time.

Some of the important methods of Winsock control are as following:

Accept Method

It accepts the request for connection from the client system. For this method to be used, the control must be in the listening state.

Close Method

The Close method terminates a TCP connection from either the client or server applications.

GetData Method

GetData is the method that retrieves the current block of data from the buffer and then stores it in a variable of the variant type.

PeekData Method

The PeekData method operates in a fashion similar to the GetData method. However, it does not remove data from the input queue.

Listen Method

This is invoked on the server application to have the server application wait for a TCP request for connection from a client system.

SendData Method

This method dispatches data to the remote computer. It is used for both the client and server systems.

Connect Method

The Connect method requests a connection to a remote computer.

I am not going to discuss events here. You can find the complete details of events on the Microsoft site.

Comments

  1. 07 Jun 2005 at 05:28

    you can check your answers here hahahaa

  2. 03 Jun 2005 at 10:13
    i want to know how to transfer images that are in the picture1.picture box from a client to another picture1.picture to the server using winsock control, anyone could help me out in this matter, also try to mail me... if anyone has the solution,
    Pls how can i see answers to the already posted messeges cos i hv similar problem/questions as hav bn posted
  3. 04 Sep 2004 at 00:00

    i want to know how to transfer images that are in the picture1.picture box from a client to another picture1.picture to the server using winsock control, anyone could help me out in this matter, also try to mail me... if anyone has the solution,


    thanks

  4. 07 Jul 2004 at 05:05


    i want to transfere a file using C#
    either ftp or winsock
    if anyone knows how
    please help
    thank u

  5. 07 Jul 2004 at 05:05



  6. 28 Jan 2004 at 03:37

    you can use the and OCX that is available in the web www.j7tech.com.

  7. 28 Mar 2003 at 06:17

    when you use the winsock senddata method, the data gets stored in the outgoing winsock buffer. you have to wait until the buffer is completely sent. If you call the senddata method again then the data in the buffer gets overwritten by the new data. To prevent this you use the winsock sendcomplete method.


    For example:
    Private Sub subSendInfo
    ' ...
    '...
    ' pass the data to be sent to the winsock control
    winsock1.senddata(data)
    ' now the send complete will execute when the buffer is empty
    end sub



    Private Sub winsock1_SendComplete()
        ' buffer empty now send more data
                    call subSendInfo
    End Sub

  8. 16 Mar 2003 at 23:38
    how to sound transfer in winsock with the use of visual basic,,if any one have the answer then please send me the reply as soon as possible.send  reply on dthis maill address also. ======kuldip_infotech@yahoo.co.nz
  9. 19 Jan 2003 at 23:46

    how to send an image or a picture from the server to client using winsock?

  10. 02 Jan 2003 at 17:34

    Quote:
    [1]Posted by wmgoh on 5 Nov 2002 11:15 PM[/1]
    good day...


    i just want to ask how i can send files using winsock instead of using FTP in Internet Transfer Control?


    thanks

  11. 13 Dec 2002 at 02:36

    maybe if u uses commands like what i want to learn but i had some source on how to make all that but lost it and never found it again but use the predefined commands


    (in decloration or winsock.dataarive define each command)


    winsock1.dataarive
    if winsock1.dataarive then
    +stats+ = 100
    +name+ = name.text
    +workgroup+ = 98
    +ip+ = 0.0.0.0



    select case TCPdata


    case +name+       (notice i add a + in front and in back so that you can parish the data untill you get to + then use mid,right,left to get the data and store it into a string or something)


    case +stats+
    case +workgroup+
    case +ip+


    winsock1.senddata TCPdata




    if anyone knows how to do something like this please i beg of you to help me out and get me started.


    email=brianxmcd@aol.com
    aim=microsofs

  12. 13 Dec 2002 at 02:25


    i need help with making a winsock multi chat that uses a list of commands to do diffrent stuff like add nickname to the list of users connected then if they want there age displayed a command that sends there name and age but single commands not multiple commands at once and maybe add chatrooms stuff like that. anyone have a tutorial about how to do this?
    email = brianxmcd@aol.com aim = microsofs


    thanks

  13. 15 Nov 2002 at 16:32

    I too have this same problem...... but i found that on the microsoft website if you download service pack 4, there is a fix for this issue....BUT!!!!!! this resolution only works if you run the application using the computer that you downloaded the service pack for....which does absolutely no good for me...so if anyone knows how to fix this let me know....

  14. 11 Nov 2002 at 12:58
    i experienced the same problem:
    with several SendData one after another
    does't work
    i use DoEvents, but nothing
    i readed that this problem
    refers to the TCP/sliding window

    in which way can i solve that
    wiithout to use a "delay" between the sendDatas????
  15. 05 Nov 2002 at 23:15

    good day...


    i just want to ask how i can send files using winsock instead of using FTP in Internet Transfer Control?


    thanks

  16. 23 Oct 2002 at 13:50

    Quote:

    For i = 1 To iSockets
      Msgbox(*)
     Socket(i).SendData strOutData
    Next


    ohoh... use DoEvents


    Guido

  17. 11 Aug 2002 at 02:12

    I based on your program try to develop a chatroom.


    It is so strange that it cannot boradcast message in code like this:


    For i = 1 To iSockets  
       Socket(i).SendData strOutData
    Next
    (only the last Socket can get the message , i.e. Socket(iSocket))


    but can boradcast by this:
    For i = 1 To iSockets  
       Msgbox()
      Socket(i).SendData strOutData
    Next
    (
    = anything even empty)
    (only Msgbox can do so)


    Do you know what is the problem??


    Thxxx

  18. 22 Nov 2001 at 11:23
    its great but cani enable for for proxy on LAN?.
  19. 01 Jan 1999 at 00:00

    This thread is for discussions of Client Server Programming with Winsock.

Leave a comment

Sign in or Join us (it's free).

S.S. Ahmed S.S. Ahmed is a senior IT Professional and works for a web and software development firm. Ahmed is a Microsoft Office SharePoint Server MVP. Ahmed specializes in creating database driven dynamic we...
AddThis

Related discussion

Related podcasts

  • Christian Beauclair

    14 mai 2008 (�mission #0074) ::.Christian Beauclair: Stratégies de migration VB6 vers .NET Nous discutons avec Christian Beauclair des stratégies de migration VB6 vers .NET. Entre autres, nous discutons comment utiliser le "VB 6 Code Advisor" et le "Interop Forms Toolkit" pour ajouter la puiss...

Want to stay in touch with what's going on? Follow us on twitter!