Sign in to follow this  
Followers 0
zackrspv

TCPSend Limit

3 posts in this topic

#1 ·  Posted (edited)

Hum,

I seem to have ran into a bit of a snag with my chat script. While I can use GUICTRLREAD() to read the edit box that the user is typing in, and see that it has the proper string lengths:

Sending: 4 characters.
Sending: 976 characters.
Sending: 3 characters.
Sending: 72 characters.
Sending: 39 characters.
Sending: 8 characters.

When I use the 'TCPSend($irc, "PRIVMSG " & $chan & " :" & $msg & @CRLF)' format to send it to the IRC Channel, only a maximum of 437 characters are going through.

I'm just using standard IRC commands from the IRC UDF:

Func _IRCSendMessage($irc, $msg, $chan = "")
    If $irc = -1 Then Return 0
    If $chan = "" Then
        TCPSend($irc, $msg & @CRLF)
        If @error Then
            MsgBox(1, "IRC.au3", "Server has disconnected.")
            Return -1
        EndIf
        Return 1
    EndIf
        ConsoleWrite("Sending: "&StringLen($msg)&" characters." & @CRLF)
    TCPSend($irc, "PRIVMSG " & $chan & " :" & $msg & @CRLF)
    If @error Then
        MsgBox(1, "IRC.au3", "Server has disconnected.")
        Return -1
    EndIf
    Return 1
EndFunc;==>_IRCSendMessage

So, is there a limit on how many characters can be sent this way via TCPSend, or is there a way to manipulate that upper limit to what it should be?

I DID verify that it is not the server, by using mirc to send 976 characters to the channel. But from the script, i cannot seem to send more than 437. But, the string counts match perfectly.

Before Send: 976
  After Send:976

What actually was sent: 437

Well, i forced it to actually use 936 characters to the $msg variable in the _IRCSendMessage function, and it still only sends 437. I think it has to be a limit for a single send. I wonder how to fix that. You think it could be OS related?

I'm all confused :/

Edited by zackrspv

-_-------__--_-_-____---_-_--_-__-__-_ ^^€ñ†®øÞÿ ë×阮§ wï†høµ† ƒë@®, wï†høµ† †ïmë, @ñd wï†høµ† @ †ïmïdï†ÿ ƒø® !ïƒë. €×阮 ñø†, bµ† ïñ§†ë@d wï†hïñ, ñ@ÿ, †h®øµghøµ† †hë 맧ëñ§ë øƒ !ïƒë.

Share this post


Link to post
Share on other sites

Didn't you answer your own question a while ago?

http://www.autoitscript.com/forum/index.php?showtopic=69415

The limit seems to be what the IRC server will take at once. Not what TCPSend() could send.

Except for the fact that I sated:

I DID verify that it is not the server, by using mirc to send 976 characters to the channel. But from the script, i cannot seem to send more than 437. But, the string counts match perfectly.

Before Send: 976
  After Send:976
What actually was sent: 437

Well, i forced it to actually use 936 characters to the $msg variable in the _IRCSendMessage function, and it still only sends 437. I think it has to be a limit for a single send. I wonder how to fix that. You think it could be OS related?

And yes, in that old post, I was refering to thousands of characters; but i'm only trying to send about 936 or so :). The server's maximum input is that 936 number. No matter what I can do, script wise, when sending the values with TCPSEND() i only get 437 to the server, not the entire 936 :)

So, since the script displayed the value from the edit box as : 936; and the function echoed that the values before tcp send were 936; and the values after tcp send were 936; but the server only recieved 437 of those characters, the issue is what is inbetween; which is the TCPSEND() function.


-_-------__--_-_-____---_-_--_-__-__-_ ^^€ñ†®øÞÿ ë×阮§ wï†høµ† ƒë@®, wï†høµ† †ïmë, @ñd wï†høµ† @ †ïmïdï†ÿ ƒø® !ïƒë. €×阮 ñø†, bµ† ïñ§†ë@d wï†hïñ, ñ@ÿ, †h®øµghøµ† †hë 맧ëñ§ë øƒ !ïƒë.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0