点击或拖拽改变大小

CSocket.accept 方法

X#
在套接字上接受新的连接。

命名空间:  VO
程序集:  VOInternetClasses (在 VOInternetClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD accept() AS CSocket
查看代码

返回值

类型:CSocket
如果成功,返回一个新的 CSocket 对象实例;否则,返回 NULL_OBJECT。
备注
该方法可以用于使 Internet 服务器应用程序等待客户端的连接。
示例
以下示例实现了一个简单的套接字服务器函数,监听端口7的第一个连接:
X#
 1FUNCTION ServerTest()
 2LOCAL oSocket AS CSocket
 3LOCAL oSockMsg AS CSocket
 4LOCAL cData AS STRING
 5LOCAL cFrom AS STRING
 6LOCAL nPort AS INT
 7LOCAL lRet AS LOGIC
 8
 9oSocket := CSocket{SOCK_STREAM}
10
11IF oSocket:bind(7, NULL_STRING, AF_INET)
12    oSocket:listen(1)
13    lRet        := .F.
14    oSockMsg    := oSocket:accept()
15
16    IF oSockMsg != NULL_OBJECT
17        cData := oSockMsg:GetLine()
18        oSockMsg:getpeername(@cFrom, @nPort)
19        ? "Connection accepted from ", cFrom, , client port: , NTrim(nPort)
20        ? "Received data: ", cData
21        lRet := .T.
22    ENDIF
23
24    oSockMsg:Close()
25ENDIF
26
27oSocket:Close()
28
29RETURN lRet
参见