请问这个是不是一个短连接例子 我想做成一个长连接的例子请问怎么做 谢谢
import java.io.*;
import java.net.*;
public class EchoServer1 extends Thread {
Socket socket1;
public EchoServer1( Socket s) {
socket1=s;
start();
}
public void run() {
try {
BufferedReader in=new BufferedReader(new InputStreamReader(socket1.getInputStream()));
//InputStream in=socket1.getInputStream();
PrintWriter out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())), true);
char[] sa=new char[500];
String stra=null;
String str=null;
int aaa=0;
aaa=in.read(sa);
str = new String(sa,0,30).trim();
//stra = new String(straa.getBytes("iso8859-1"),"gb2312");
//str=in.readLine();
System.out.println("Server receives: " +str);
out.write("Server returns back "+str);
out.flush();
in.close();
out.close();
}
catch (IOException e) {
System.err.println("IO Exception");
}
finally {
try {
socket1.close();
}
catch (IOException e) {
System.err.println("Socket not closed");
}
}
}static final int PORT = 8082;
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(PORT);
System.out.println("Server Started");
try {
while(true) {
Socket socket1 = s.accept();
try {
new EchoServer1(socket1);
}
catch(Exception e) {
socket1.close();
}
}
}
finally {
s.close();
}
}
}
import java.io.*;
import java.net.*;
public class EchoServer1 extends Thread {
Socket socket1;
public EchoServer1( Socket s) {
socket1=s;
start();
}
public void run() {
try {
BufferedReader in=new BufferedReader(new InputStreamReader(socket1.getInputStream()));
//InputStream in=socket1.getInputStream();
PrintWriter out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())), true);
char[] sa=new char[500];
String stra=null;
String str=null;
int aaa=0;
aaa=in.read(sa);
str = new String(sa,0,30).trim();
//stra = new String(straa.getBytes("iso8859-1"),"gb2312");
//str=in.readLine();
System.out.println("Server receives: " +str);
out.write("Server returns back "+str);
out.flush();
in.close();
out.close();
}
catch (IOException e) {
System.err.println("IO Exception");
}
finally {
try {
socket1.close();
}
catch (IOException e) {
System.err.println("Socket not closed");
}
}
}static final int PORT = 8082;
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(PORT);
System.out.println("Server Started");
try {
while(true) {
Socket socket1 = s.accept();
try {
new EchoServer1(socket1);
}
catch(Exception e) {
socket1.close();
}
}
}
finally {
s.close();
}
}
}
如果是参考如下:
server端》
ServerSocket ss=new ServerSocket(port);//port通信端口
Socket soc=ss.accept();
OutputStream os=soc.getOutputStream();
.....
client端》
Socket socket=new Socket(serverInetAddress,port);//serverInetAddress为服务器地址
InputStream is=socket.getInputStream();
....