点击或拖拽改变大小

CSocket.GetLineFrom 方法

X#
等待连接并从传入数据中提取第一行。

命名空间:  VO
程序集:  VOInternetClasses (在 VOInternetClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD GetLineFrom(
	cIP REF STRING,
	nRemPort REF DWORD
) AS STRING
查看代码

参数

cIP
类型:String
引用一个字符串,用于接收客户端的IP地址。
nRemPort
类型:UInt32
引用一个 DWORD 值,用于接收客户端的端口号。

返回值

类型:String
如果成功,返回包含接收到的数据行的字符串;否则,返回 NULL_STRING
备注
该方法等待数据包并从输入数据中提取第一行。除此之外,GetLineFrom() 还会提取与接收到的数据相关的 IP 地址和端口号。该方法可以由 UDP 套接字使用,以从 Internet 接收发送的数据包。
示例
以下示例实现了一个简单的套接字服务器函数,监听端口7的第一个数据包:
X#
 1FUNCTION ServerTest2() AS VOID PASCAL
 2    LOCAL oSocket AS CSocket
 3    LOCAL cData AS STRING
 4    LOCAL cFrom AS STRING
 5    LOCAL nPort AS INT
 6
 7    oSocket := CSocket{SOCK_DGRAM}
 8
 9    IF oSocket:bind(7, NULL_STRING, AF_INET)
10        oSocket:TimeOut := 10000
11        cData := oSocket:GetLineFrom(@cFrom, @nPort)
12
13        IF cFrom == NULL_STRING
14            ? "Timeout expired, no data received :-("
15        ELSE
16            ? "Data received from ", cFrom, , "Client port: ", NTrim(nPort)
17            ? "Received data:" , cData
18        ENDIF
19    ENDIF
20
21oSocket:Close()
22
23RETURN
参见