Search Tools Links Login

__Simple Winsock Tutorial__


This tutorial will teach you the basics of winsock (the winsock OCX control). How to connect to computers, how to be a server, sending and getting data. If you like this, Please vote for me ;)

Original Author: Matt Carpenter

Code

.::Simple Winsock Tutorial ::.

-From the author of 'Simple Direct3d
Tutorial w/ source' on PSC!




This tutorial will teach you how to use the Winsock
control to make chat programs, multiplayer games, email checkers, and anything
else that uses Winsock!







Winsock is a communications 'thingy' that lets you
communicate with other computers via network/internet. Using TCP/IP or UDP
protocols, you can send data from one computer to another.  We will be
using the Winsock control with visual basic. First, open up visual basic, then
add the Winsock Control. I also assume that you know what a port is...



Add one to your form.  Now, make 2 command buttons. Label one 'Connect' and
the other 'Host'. 

Under the 'connect' button, add the following code:



Host = inputbox("Enter the host's computer name
or ip address:")

Port = inputbox("Enter the host's port to connect to:")

Winsock1.connect host, port



That code let you specify the host computers name/ip address, and the port to
connect to on it. Now, add the following code to the 'Host' button.



Port = inputbox("What port do you want to host on?")

Winsock1.localport = Port

Winsock1.Listen



If you were to click the 'host' button, it would activate the server and wait
for somebody to try to connect.



Now, double click the Winsock control and go to the sub
'winsock1_ConnectionRequest'. Under that, put this code.



if winsock1.state <> sckclosed then winsock1.close  'Got
to do this to make sure the Winsock control isn't already being used.


winsock1.accept RequestID



That code simply let the client connect. Now, add a 3rd button to the form
and call it 'Send'. Under it, add this code.



Text = inputbox("Send what text?")

winsock1.senddata text



When you click that, it sends data to the other computer, no matter if you
are the host or the client. You need a way to receive this data on both, so
double click the Winsock control, then go to the 'winsock1_RecieveData' sub (or
something like that). Put in this code.



Data = winsock1.getdata

msgbox Data



This displays the data that the other user sent you.  



I guess I really didn't go in depth with this article, but it is all REALLY
simple. Maybe you want to send player coordinates if you are making a
multiplayer game, or send messages if it's a chat program that you want to make.
Doesn't really matter.



To test this program, compile it, then open 2 instances of it. in one, click the
'host' button and enter the port 100 (Just because. You could do any port you
want (1 to 1000 or higher!))

In the other one, click 'Connect' Then type in 'Localhost' for the server, and
the port should be, guess what, 100! 

This will create a loop, and you will connect to your self. On one of the
instances, click send, then type in a message. No, don't just type in any message,
type 'Hello World!'. How original is that? Click OK, then a message box from the
other instance should pop up with the same message. You could also use 127.0.0.1
for the host instead of Localhost, because that is the same thing as Localhost,
only in an IP address.  

I guess this doesn't TEACH you how to make multiplayer games, but at least you
know how to now...



That was a real simple tutorial. Not much else to say, except, Please vote for
me if you liked this!

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 105 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.