I might point out that 1) you can only ever have one tcplistener per port so why do you need a while loop? And 2) You declare 'listener' in both your class and then as an internal variable in your 'conto' method which would likely cause an exception or confusion in your code. Start cannot be called twice in a row without calling stop. If you want code to do similar sort of thing (but in C#) have a look at my article:
Fast Networking Library 2[
^] Which may help you. You could probably reference it (even though its c#) in your vb project to save you a lot of work.
Hope this helps,
Ed :)