我正在寻找更简单的东西。我终于设法从一个精简的TcpClient例子中编写代码。如果将其保存为client.el,请执行chmod + x client.el和./client.el,这可以从命令行运行。它将打印出300秒后服务器决定发送和退出的内容。它真的需要一些评论来解释它发生了什么。
#!/usr/bin/emacs --script
(defvar listen-port 9999
"port of the server")
(defvar listen-host "127.0.0.1"
"host of the server")
(defun listen-start nil
"starts an emacs tcp client listener"
(interactive)
(make-network-process :name "listen" :buffer "*listen*" :family 'ipv4 :host listen-host :service listen-port :sentinel 'listen-sentinel :filter 'listen-filter))
(defun listen-stop nil
"stop an emacs tcp listener"
(interactive)
(delete-process "listen"))
(defun listen-filter (proc string)
(message string))
(defun listen-sentinel (proc msg)
(when (string= msg "connection broken by remote peer\n")
(message (format "client %s has quit" proc))))
(listen-start)
(sleep-for 300)
(listen-stop)
谢谢!我回去再读一遍TcpClient例子。我在下面创建了更简单的答案。 – 2011-06-01 11:25:15