我是apache-flink的新手,我需要处理一些来自流到'ws:// localhost:9000 / ws'的akka本地scoket的数据
在flink API中,我只能找到一个名为“ socketTextStream”的函数 需要主机名,端口和定界符
例如:
DataStream<String> text = env.socketTextStream(hostname, port, "\n");
如何将套接字指定为'ws:// localhost:9000 / ws'?
答案 0 :(得分:1)
问题是socketTextStream
内部使用常规套接字,即java.net.Socket
用于与指定地址的连接。但是根据您描述中的地址,您正在处理WebSocket。您不能使用常规套接字从WebSocket读取数据。当前,Flink没有用于从WebSockets AFAIK创建数据流的API。唯一要获得的内容就是编写自己的SourceFunction
,该javax.websocket-api
将在内部使用{{1}}创建连接并从服务器中读取数据。