Hi Stefan, If you have two different sockets open, one should not block the other no meter what kind of a socket that is. Send some of the code, might help us help you.
Mark ----- Original Message ----- From: "Stefan Johnson" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, March 22, 2003 10:24 AM Subject: Socket Problem > Hi, > I've googled for this information and not found much. > Probably just haven't found the right combination of > keywords. I have a project I'm doing to learn about > IRC better. I'm writing a bot in perl (without using > the Net::IRC or POE modules) and I can connect to the > server, join the channel I want to join, and pass > commands to the bot via the channel and direct > messages. What I'm running into trouble with is DCC. > I want to be able to DCC chat with it and have it > repeat what I tell it via DCC into the chat room. > I have a socket set up at the beginning for > connecting to the IRC server. This is the main > socket, but I have to open a second socket for DCC, > so I set one up if and only if the bot receives a > DCC request from $controller (me). The problem is > that I can open this second socket, but then it's > the only socket I can communicate with until I send > a "/dcc close chat $botnick" in the channel, THEN > it repeats only the last thing it heard from the > $dccsocket. I think this is due to blocking calls > on the sockets I'm working with, but when I tried > setting it to fcntl( $socket, O_NONBLOCKING ) (or > at least I think that's what I did, it's been a > while) it goes through the loop once then quits > instead of looping until it receives input. Has > anyone tried this before? Or done some other > project that required both read and write access > on 2 open sockets without that project being a server? > I found an example of using select() but it appears > to only work on server sockets. I need something > that works with client sockets. I'm using this > module for my sockets... IO::Socket. I'm also > using perl 5.6.1 on cygwin on WinXP Home. I prefer > NOT to use Net::IRC nor POE as I'm doing this project > mostly as a learning experience and I feel I wouldn't > be learning anything to resort to someone else's work. > (and the only reason I'm using IO::Socket is that I've > worked with normal sockets enough to know I can do it > already.) If anyone needs to see the code for the > sockets, please let me know. I'll post what I'm doing > if it's necessary. > > Thank you for your time, > Stefan > > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]