这么一个例子,通过在Java窗体中控制socket的内容传输,
1、在窗体中有一个ip地址的输入框,一个连接服务端的按钮,一个服务端监听的时间设置的输入框(可以用来设置服务端多长时间监听一次端口),接着一个设置服务端时间监听的设置按钮,还有一个断开连接的按钮
2、在服务端,通过while来不断的使用DataOuputStream对象来向客户端传输数据,
3、窗体负责接收数据,并存入数据库要求:1、先输入服务端的ip地址,然后点击连接,连接成功后,服务端开始传输数据
2、在传输的过程中,可以通过设置监听的时间来控制服务端每隔多长时间传回一次数据
3、最后,在点击关闭的时候,可以关闭服务端的传输,如何在次点击连接的时候,还可以继续传输数据那位高手可以帮一下啊,实在是想不出来了,控制服务端传输的那块总是弄不好,从服务端传输数据到时能做出来,但是不能点击关闭来停止服务端的数据传输,最好是有代码发来看看,小弟能力有限,希望高手帮助
1、在窗体中有一个ip地址的输入框,一个连接服务端的按钮,一个服务端监听的时间设置的输入框(可以用来设置服务端多长时间监听一次端口),接着一个设置服务端时间监听的设置按钮,还有一个断开连接的按钮
2、在服务端,通过while来不断的使用DataOuputStream对象来向客户端传输数据,
3、窗体负责接收数据,并存入数据库要求:1、先输入服务端的ip地址,然后点击连接,连接成功后,服务端开始传输数据
2、在传输的过程中,可以通过设置监听的时间来控制服务端每隔多长时间传回一次数据
3、最后,在点击关闭的时候,可以关闭服务端的传输,如何在次点击连接的时候,还可以继续传输数据那位高手可以帮一下啊,实在是想不出来了,控制服务端传输的那块总是弄不好,从服务端传输数据到时能做出来,但是不能点击关闭来停止服务端的数据传输,最好是有代码发来看看,小弟能力有限,希望高手帮助
服务端循环监听客户端连接请求(java.net.ServerSocket.accept()
),可以通过开辟新线程来处理连接后事务,这样就不会影响监听主线程,不管连接线程当前工作与否。至于关闭,客户端这边关闭后,服务端这边自然就接收到了信号,所以不必刻意发送了。
import java.io.DataOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class MainClass { public static void main(String args[]) {
try { int port = 5555;
ServerSocket ss = new ServerSocket(port); while (true) {
// Accept incoming requests
Socket s = ss.accept(); // Write result to client, uses thread working mode instead
OutputStream os = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeInt(100); s.close();
}
} catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}