Posted to tcl by Napier at Thu Jul 16 01:09:49 GMT 2015view raw
- proc Receive {socketID ip port} {
- LOG "Received Data From: $ip $port $socketID:"
- if {[eof $socketID]} {
- LOG "WARNING: Remote Host Closed the Socket Connection"
- catch {chan close $socketID}
- set ::Socket::ID 0
- set ::Socket::isConnected 0
- if {[catch {::Callbacks::onSockClosed $socketID $ip $port} err]} {
- LOG "WARNING: onSockClosed Callback Not Specified?"
- LOG "WARNING: $err"
- }
- return
- }
- set data [chan gets $socketID line]
- if {$data >= 0} {
- set response $line
- } else {
- # Specified Translation not Found, Reading Socket Data
- if {[catch {chan read $socketID} response]} {
- LOG "ERROR: While Reading Socket"
- LOG "ERROR: $response"
- }
- set response [string map {"\x00" ""} $response]
- }
- if {[string length $response] < 1} {
- # Null Data Received
- return
- }
- #LOG "$response"
- set ::Socket::isConnected 1
- if {[catch {::Callbacks::onSockReceive $socketID $ip $port $response} err]} {
- LOG "ERROR: onSockReceive Callback Not Specified?"
- LOG "ERROR: $err"
- }
- }