67,515
社区成员
发帖
与我相关
我的任务
分享
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
//客户端
public class SocketClient {
public static void main(String[] args){
try {
Socket socket=new Socket("127.0.0.1",21112);
socket.setSoTimeout(10*1000);
DataInputStream in=new DataInputStream(new BufferedInputStream(socket.getInputStream()));
OutputStream out =socket.getOutputStream();
out.write("client".getBytes());
out.flush();
int r=0;
//数据不能读完,但是已经没有数据了
while((r=in.read())!=-1){
System.out.print((char)r);
}
System.out.println("end");
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
//服务端
public class SocketServer {
public static void main(String[] args) {
try {
ServerSocket server=new ServerSocket(21112);
Socket socket=null;
socket=server.accept();
System.out.println("有客户端连接了");
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
InputStream in=socket.getInputStream();
out.write("server".getBytes());
out.flush();
int r=0;
while((r=in.read())!=-1){
System.out.print((char)r);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
//客户端
public class SocketClient {
public static void main(String args[]) {
try {
Socket socket = new Socket("127.0.0.1", 21112);
// 由系统标准输入设备构造BufferedReader对象
PrintWriter os = new PrintWriter(socket.getOutputStream());
// 由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// 由Socket对象得到输入流,并构造相应的BufferedReader对象
String readline = "client";
os.println(readline);
// 将从系统标准输入读入的字符串输出到Server
os.flush();
// 刷新输出流,使Server马上收到该字符串
System.out.println("Client:" + readline);
// 在系统标准输出上打印读入的字符串
System.out.println("Server:" + is.readLine());
// 从Server读入一字符串,并打印到标准输出上
os.close(); // 关闭Socket输出流
is.close(); // 关闭Socket输入流
socket.close(); // 关闭Socket
} catch (Exception e) {
e.printStackTrace();
}
}
}
//服务端
public class SocketServer {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(21112);
Socket socket = null;
socket = server.accept();
System.out.println("有客户端连接了");
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
int r = -1;
while ((r = in.read()) != -1) {
System.out.print((char) r);
}
out.write("server");
out.flush();
out.close(); // 关闭Socket输出流
in.close(); // 关闭Socket输入流
socket.close(); // 关闭Socket
server.close(); // 关闭ServerSocket
} catch (Exception e) {
e.printStackTrace();
}
}
}
参考:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html