TCP套接字的java实现
客户端如下:
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
String sentence; //要发送的内容
String modifiedSentence; //接收的内容
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); //用户输入要发送的内容
Socket ClientSocket = new Socket("127.0.0.1",5679); //创建套接字,端口号必须是1024至65535之间
DataOutputStream outToServer = new DataOutputStream(ClientSocket.getOutputStream()); //获取客户端将要发出的内容
BufferedReader infromServer = new
BufferedReader(new InputStreamReader(ClientSocket.getInputStream())); //获取客户端接收到的客户端的消息
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence+"\n"); //发送给服务器
modifiedSentence = infromServer.readLine();
System.out.println("FROM Server:\n"+modifiedSentence);
ClientSocket.close();
}
}
服务端如下:
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) throws Exception{
String ClientSentence;
String capitalizedSentence;
ServerSocket serverSocket = new ServerSocket(5679); //监听套接字
while(true){
Socket connectionScoket = serverSocket.accept(); //连接套接字
BufferedReader inFromClient = new //从客户端获得的消息
BufferedReader(new InputStreamReader(connectionScoket.getInputStream()));
DataOutputStream outToClient = new //将要发送到客户端的消息
DataOutputStream(connectionScoket.getOutputStream());
ClientSentence = inFromClient.readLine();
System.out.println(ClientSentence);
capitalizedSentence = ClientSentence.toUpperCase()+"\n";
outToClient.writeBytes(capitalizedSentence);
}
}
}