gpt4 book ai didi

java - Java Server如何向Flex打开的Socket写入数据

转载 作者:行者123 更新时间:2023-11-29 03:56:41 24 4
gpt4 key购买 nike

好的,基本上我的 Flex 应用程序会打开一个套接字并监听它。我的 java 程序将向此端口写入一些字符串。

我的 AS3 代码是

        private function onRecvClick():void
{
var host:String = "localhost";
var port:int = 9090;

var socket:Socket = new Socket(host, port);
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(DataEvent.DATA, onData);
socket.connect(host, port);
}

我的 Java 代码是:

 private ClientSocket()
{
try
{
String host = "localhost";
int port = 9090;

Socket socket = openSocket(host, port);

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write("HelloTest");
writer.flush();

}
catch (Exception e)
{
System.out.println(e);
}
}

private Socket openSocket(String server, int port) throws Exception
{
Socket socket;

// create a socket with a timeout
try
{
InetAddress inteAddress = InetAddress.getByName(server);
SocketAddress socketAddress = new InetSocketAddress(inteAddress, port);

// create a socket
socket = new Socket();

// this method will block no more than timeout ms.
int timeoutInMs = 10*1000; // 10 seconds
socket.connect(socketAddress, timeoutInMs);

return socket;
}
catch (SocketTimeoutException ste)
{
System.err.println("Timed out waiting for the socket.");
ste.printStackTrace();
throw ste;
}
}

在尝试写入套接字时,我收到此 java.net.ConnectException: Connection refused: connect。有趣的是,Flex 中的 socket 似乎没有派发任何事件,这正常吗?

最佳答案

除非我完全误读了文档,flash.net.Socketjava.net.Socket是客户端套接字。

您需要将一侧作为服务器套接字才能将它们连接在一起。

对于 Java 中的服务器端,请查看此演练:Socket Communications .

关于java - Java Server如何向Flex打开的Socket写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6057838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com