TCP plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 10: Line 10:
Created by Daniel Rejment.
Created by Daniel Rejment.


== Usage ==
== Sample Usage ==
Drop the dll into the Plugins folder of your NSIS installation.
<highlight-nsis>
 
validate_port:
Call TCP::CheckPort "12345"
  TCP::CheckPort "12345"
 
  Pop $0
Return value on the stack is:
  StrCmp $0 "free" port_ok
 
  StrCmp $0 "socket_error" socket_error
"free" - if the port is free for binding
  StrCmp $0 "inuse" socket_inuse
 
  Goto port_ok
"inuse" - if the port is already in use
socket_inuse:
 
  MessageBox MB_OK "The Port is in use by another application."
"socket_error" - if the port string is not between 1 and 65535
  Abort
 
socket_error:
  MessageBox MB_OK "Invalid TCP Port number. It should be an integer between 1 and 65535."
  Abort
port_ok:
</highlight-nsis>




[[Category:Plugins]]
[[Category:Plugins]]

Revision as of 17:00, 10 August 2007

Author: daniel.rejment (talk, contrib)


Links

Download v1.0: TCP.zip

Description

I made this little plugin to be able to check for TCP ports that our server software can use. There is currently only one function that checks if a port is already in use or not, but it is useful.
Created by Daniel Rejment.

Sample Usage

validate_port:
  TCP::CheckPort "12345"
  Pop $0
  StrCmp $0 "free" port_ok
  StrCmp $0 "socket_error" socket_error
  StrCmp $0 "inuse" socket_inuse
  Goto port_ok
socket_inuse:
  MessageBox MB_OK "The Port is in use by another application."
  Abort
socket_error:
  MessageBox MB_OK "Invalid TCP Port number. It should be an integer between 1 and 65535."
  Abort
port_ok: