sorry for the late reply. thank you for the reply. i can walk a friend through port redirecting, i can get them to connect to me, but the problem is both of those situations involve me. if two others are using it, they might have that knowlege base. but based off of what i've seen in research, it's the only way. i guess i'll just have to work around it. thanks anyway though.

as far as problem 2 goes, i think it's my computer. i've tested it with code that others say have worked for them. it's basically:
sub cmdconnect_click()
winsock1.connect remoteip, remoteport
end sub
sub cmdlisten_click()
winsock1.localport = localport
winsock1.listen
end sub
sub cmdsend_click()
winsock1.datasend text1
end sub
sub winsock1_datarecieved()
winsock1.getdata incoming, vbstring
text2 = text2 & incoming
end sub
sub winsock1_connectionrequest()
if winsock1.state <> 0 then winsock1.close
winsock1.localport = 0
winsock1.accept requestid
end sub

i don't have my program available so i just wrote that from the top of my head but i think that's about the gist of it.

thanks for suggesting that site. it sounds like a good site to keep handy for various reasons.