usocket

    3熱度

    1回答

    我試圖在lisp中使用套接字來創建連接。使用sbcl,我發現「usocket」可用。但是我沒有在服務器和客戶端之間發送字符串。下面的代碼: 服務器: (ql:quickload "usocket") (use-package 'usocket) (defun default-tcp-handler (stream) ; null (declare (type stream strea

    3熱度

    1回答

    我試圖升級協議,從HTTP 1.1切換到WebSockets。我試過使用usocket。我的代碼到目前爲止(並可作爲GitHub gist)。握手讀取後,函數返回NIL或unexpected EOF錯誤。 ;; Define parameter sock for usocket stream ;; echo.websocket.org is a site for testing websocke

    1熱度

    1回答

    land當我在「lisp land」第12章和第13章中學習「socket」時。 我使用lispbox,所以我需要安裝一個socket.At最後,我發現usocket可用。 這是一個關於如何使用建立網絡服務器的示例。 (defun serve (request-handler) "serve as a web server,used to handle request like

    3熱度

    1回答

    我正在使用lisp中的TCP客戶端,並且無法正確讀取/打印套接字流。當客戶端發送數據到服務器時,它應該收到響應,並且我需要將它寫入stdout。這工作正常,除了我有一個問題,其中響應打印兩次。如果我發送了多個命令,則只打印最後一個命令兩次。這裏是我的代碼: (defun socket-print (string socket) (write-line string (usocket:so

    5熱度

    1回答

    我試圖通過USOCKET發送數據。當數據到達服務器時,服務器應該回復。但是,stream-read(如下所定義)僅在數據回送時與其發送的原始數據一起返回。例如,如果我發送hello並且服務器回覆的數據相同,則hello,然後stream-read會返回,但如果服務器回覆了hi,則stream-read不會返回,直到服務器發送確切的緩衝區爲止。 下面的代碼:(我發現大部分在線) ;; Load US

    0熱度

    1回答

    我遇到了一些與USocket庫真正令人費解的行爲。請考慮以下代碼片段: (defvar server-socket (usocket:socket-listen "localhost" 43593 :element-type '(unsigned-byte 8))) (defvar client-connection (u

    3熱度

    1回答

    的usocket FAQ建議我應該這樣做的方式是通過從socket-stream閱讀和檢查的結果end-of-file。這適用於每個套接字都有一個線程活動的情況,但對於我試圖在同一個線程中服務多個套接字的情況,似乎並不滿足。 考慮像 (defparameter *socket* (socket-listen "127.0.0.1" 123456)) (defparameter *client-c