您的位置:首页 > 理论基础 > 计算机网络

Socket入门Demo——Tcp协议

2016-01-05 14:27 543 查看
服务端和客户端相互对话,说bye时停止,但只能说一句回复一句

客户端

package com.TCP;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class TalkClients {
public static void main(String[] args) {
try {
//通过ip  端口号与服务端建立连接
Socket socket = new Socket("127.0.0.1",88);
//监听控制台输入
BufferedReader sin = new BufferedReader(
new InputStreamReader(System.in));
//监听服务端输出
PrintWriter  os = new PrintWriter(
socket.getOutputStream());
//输出服务端内容
BufferedReader is = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
String str;
str=sin.readLine();
//输入bye时停止对话
while(!str.equals("bye")){
os.println(str);
os.flush();
//System.out.println("客户端说:"+str);
System.out.println("服务器说:"+is.readLine());
str=sin.readLine();
}
os.close();
is.close();
//关闭端口
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务端

package com.TCP;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TalkServers {
public static void main(String[] args) {
try {
//服务端创建一个监听端口
ServerSocket ss = new ServerSocket(88);
Socket socket = ss.accept();
//监听端口输入流,即获得通过端口传送过来的信息
BufferedReader is = new BufferedReader(
new InputStreamReader(
socket.getInputStream()));
//获得端口输出流,用于输出信息
PrintWriter  os = new PrintWriter(
socket.getOutputStream());
//获得控制台信息
BufferedReader sin = new BufferedReader(
new InputStreamReader(
System.in));
System.out.println("客户端说:"+is.readLine());
String line=sin.readLine();
//控制台输入bye 关闭
while(!line.equals("bye")){
os.println(line);
os.flush();
//System.out.println("服务器说:"+line);
System.out.println("客户端说:"+is.readLine());//读取客户端的内容
line=sin.readLine();
}
os.close();
is.close();
socket.close();
ss.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("程序监听异常");
System.exit(-1);

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: