要求tcp/ip同步短连接
即:
客户端发送信息时连接,得到服务响应(信息的返回,问题的回答等等)客户端中止连接。
再发送时重新连接。
-----------------告急--------------
解决方案 »
- 请教 这个txt文件 如何写?
- 传递对象
- Scanner报错,请高手看看!
- java中如何将Frame框架放在屏幕中央
- 郁闷,我为何装了j2sdk1.4.0之后,application 程序可以运行,但是为何就是没有java console ,而且在运行java applet 时只有框架,没有内容,
- 如何在一个自定义窗口中显示(文本区域)显示在DOS下运行JAVAC\JAVA时所触发的异常? (另一个名没分可用了只好用这个贴了)
- 入门级问题
- Java难学吗?
- 为什么总是找不到bean?请进.....
- 老师写的代码在eclipes可以显示图形,但在我的就显示不了。求大大神看看
- 记事本的新建菜单事件怎么写
- itext打印汉字的问题,谢谢
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;public class SimpleTestServer {
public static void main(String[] args) {
try {
ServerSocket ssocket = new ServerSocket(2000);
//port
while (true) {
Socket socket = ssocket.accept();
socket.setSoTimeout(0);
DataInputStream dataIn = new DataInputStream(socket
.getInputStream());
byte[] readBytes = new byte[1000];
int length = dataIn.read(readBytes);
if (length == -1) {
break;
}
/**
* 处理请求,比如打印收到的信息。
*/
System.out.println(new String(readBytes,0,length));
/**
* 构造应答信息
*/
byte[] reply = new byte[] { 'r', 'e', 'p', 'l', 'y' };
DataOutputStream dataOut = new DataOutputStream(socket
.getOutputStream());
/**
* 发送应答信息
*/
dataOut.write(reply);
dataOut.flush();
dataOut.close();
/**
* 关闭连接
*/
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}客户端:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;public class SimpleTestClient {
public static void main(String[] args) {
try
{
Socket socket = new Socket("127.0.0.1",2000);
//ip port
socket.setSoTimeout(0);
DataOutputStream dataOut = new DataOutputStream(socket
.getOutputStream());
byte[] requestBytes=new byte[]{'r','e','q','u','e','s','t'};
dataOut.write(requestBytes);
dataOut.flush();
DataInputStream dataIn = new DataInputStream(socket
.getInputStream());
byte[] readBytes = new byte[1000];
int length = dataIn.read(readBytes);
dataIn.close();
if(length==-1)
{
dataOut.close();
socket.close();
}
System.out.println(new String(readBytes,0,length));
dataOut.close();
socket.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}