send.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1990-1994 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: send.n,v 1.3.20.1 2004/10/28 12:25:22 dkf Exp $
  9. '" 
  10. .so man.macros
  11. .TH send n 4.0 Tk "Tk Built-In Commands"
  12. .BS
  13. '" Note:  do not modify the .SH NAME line immediately below!
  14. .SH NAME
  15. send - Execute a command in a different application
  16. .SH SYNOPSIS
  17. fBsend ?fIoptionsfR? fIapp cmd fR?fIarg arg ...fR?
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. This command arranges for fIcmdfR (and fIargfRs) to be executed in the
  22. application named by fIappfR.  It returns the result or
  23. error from that command execution.
  24. fIAppfR may be the name of any application whose main window is
  25. on the display containing the sender's main window;  it need not
  26. be within the same process.
  27. If no fIargfR arguments are present, then the command to be executed is
  28. contained entirely within the fIcmdfR argument.  If one or
  29. more fIargfRs are present, they are concatenated to form the
  30. command to be executed, just as for the fBevalfR command.
  31. .PP
  32. If the initial arguments of the command begin with ``-''
  33. they are treated as options.  The following options are
  34. currently defined:
  35. .TP
  36. fB-asyncfR
  37. Requests asynchronous invocation.  In this case the fBsendfR
  38. command will complete immediately without waiting for fIcmdfR
  39. to complete in the target application;  no result will be available
  40. and errors in the sent command will be ignored.
  41. If the target application is in the same process as the sending
  42. application then the fB-asyncfR option is ignored.
  43. .TP
  44. fB-displayoffR fIpathNamefR
  45. Specifies that the target application's main window is on the display
  46. of the window given by fIpathNamefR, instead of the display containing
  47. the application's main window.
  48. .TP
  49. fB-|-fR
  50. Serves no purpose except to terminate the list of options.  This
  51. option is needed only if fIappfR could contain a leading ``-''
  52. character.
  53. .SH "APPLICATION NAMES"
  54. .PP
  55. The name of an application is set initially from the name of the
  56. program or script that created the application.
  57. You can query and change the name of an application with the
  58. fBtk appnamefR command.
  59. .SH "DISABLING SENDS"
  60. .PP
  61. If the fBsendfR command is removed from an application (e.g.
  62. with the command fBrename send {}fR) then the application
  63. will not respond to incoming send requests anymore,  nor will it
  64. be able to issue outgoing requests.
  65. Communication can be reenabled by invoking the fBtk appnamefR
  66. command.
  67. .SH SECURITY
  68. .PP
  69. The fBsendfR command is potentially a serious security loophole. On Unix,
  70. any application that can connect to your X server can send
  71. scripts to your applications.
  72. These incoming scripts can use Tcl to read and
  73. write your files and invoke subprocesses under your name.
  74. Host-based access control such as that provided by fBxhostfR
  75. is particularly insecure, since it allows anyone with an account
  76. on particular hosts to connect to your server, and if disabled it
  77. allows anyone anywhere to connect to your server.
  78. In order to provide at least a small amount of
  79. security, Tk checks the access control being used by the server
  80. and rejects incoming sends unless (a) fBxhostfR-style access control
  81. is enabled (i.e. only certain hosts can establish connections) and (b) the
  82. list of enabled hosts is empty.
  83. This means that applications cannot connect to your server unless
  84. they use some other form of authorization
  85. such as that provide by fBxauthfR.
  86. .VS
  87. Under Windows, fBsendfR is currently disabled.  Most of the
  88. functionality is provided by the fBddefR command instead.
  89. .VE
  90. .SH EXAMPLE
  91. This script fragment can be used to make an application that only runs
  92. once on a particular display.
  93. .CS
  94. if {[tk appname FoobarApp] ne "FoobarApp"} {
  95.     fBsendfR -async FoobarApp RemoteStart $argv
  96.     exit
  97. }
  98. # The command that will be called remotely, which raises
  99. # the application main window and opens the requested files
  100. proc RemoteStart args {
  101.     raise .
  102.     foreach filename $args {
  103.         OpenFile $filename
  104.     }
  105. }
  106. .CE
  107. .SH KEYWORDS
  108. .VS
  109. application, dde, name, remote execution, security, send
  110. .VE