1:服务器端代码:
package com.serverCode.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerCode {
/**
* @param args
*/
//设置端口号
public static int portNo = 3333;
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket s = new ServerSocket(portNo);//用一个端口来实例化serverSocket 对象-》服务器可以根据这个端口监听端口发送过来的链接请求
System.out.println("the server is start "+s);
Socket socket = s.accept();//监听端口上发送过来的链接请求
try{
System.out.println("accept the client :"+socket);
//利用返回的socket对象进行读写操作
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
while(true){
String str = in.readLine();
if(str.equals("byebye")){
break;
}
System.out.println("in server revived the info"+str);
out.println(str);
}
}finally{
System.out.println("closee the server and the io");
socket.close();
s.close();
}
}
}
2:客户端代码
package com.tcp.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class ClientCode {
/**
* @param args
*/
static String clientName = "Mike";
//端口号
public static int portNo = 3333;
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InetAddress addr = InetAddress.getByName("localhost");
Socket socket = new Socket(addr,portNo);//利用服务器的ip地址和端口号实例化socket对象
try{
//将需要发送的io填充到IO对象里面
System.out.println("socket ="+socket);
BufferedReader in = new BufferedReader(new InputStreamReader( socket.getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
out.println("hello server,I am"+clientName);
String str = in.readLine();
System.out.println(str);
out.println("byebye");
}finally{
System.out.println("close the client Sockte an io");
socket.close();
}
}
}
用run as java application 方法运行服务端和客服端