用JAVA实现nc指令发送消息
本人最近遇到一个问题需要用java向SparkStreaming发送消息,但是SparkStreaming无法直接与java建立Socket连接,只能监听某台服务器的某个端口。所以需要让java实现一个类似“nc -lk 端口号”地方法。
- 该方法无法单独运行,需要与监听的方法配合运行
- 1 先启动监听方法,例如SparkStreaming 接收TCP数据的服务
- 2 调用sendTCP(string) 发送字符串消息
- 3 查看监听程序是否获取到了发送的消息
- 此方法还存在一个问题,发送的数据量比较大时(比如一个大约10Kb的字符串时)接听程序可能无法一次性接收。
源代码
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class JavaNCsend{
public static void sendTCP(String sendStr){
int port = 8919;
try {
ServerSocket server = new ServerSocket(port);
Socket client = server.accept();
System.out.p

本文介绍如何使用JAVA模拟nc指令,向SparkStreaming发送消息。由于SparkStreaming只能监听特定服务器端口,因此需要Java实现一个TCP连接方法。方法包括启动监听服务、调用sendTCP方法发送字符串,并检查接收端是否成功获取消息。当发送大数据量时可能存在接收不完整的问题。附带源代码和相关参考资料。
最低0.47元/天 解锁文章
2198

被折叠的 条评论
为什么被折叠?



