在Java中的编写服务器端的程序时,服务器在接收到客户端发来的连接请求时,将一些信息传递给客户端,同样的客户端同时可以将一些信息打包发送到服务器端显示出来
下面是编写的程序
服务器端:
public class MySocketServer {//服务器器端
public static void main(String[] args) {
try {
ServerSocket ser = new ServerSocket(8888);
while (true) {
Socket s = ser.accept();//阻塞方法---每握手成功一次,就会返回与对方通讯的socket对象
//读取
InputStream in = s.getInputStream();
byte buf[] = new byte[20];
int len = in.read(buf);
System.out.println("服务器读取客户端的信息:"+ new String(buf,0,len));
//回话
OutputStream out = s.getOutputStream();
DataOutputStream dout = new DataOutputStream(out);
dout.writeInt(666);
s.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端:
public class MySocketClient {//客户端
public static void main(String[] args) {
try {
Socket s = new Socket("127.0.0.1",8888);//指定服务器的ip+端口号
//输出
OutputStream out = s.getOutputStream();
out.write("are you server 是吗?".getBytes());
//读取
InputStream in = s.getInputStream();
DataInputStream din = new DataInputStream(in);
int n = din.readInt();
System.out.println(n);
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}