简单socket编程
socket就像一扇门,连接运输层(TCP)与进程
流为字符串序列
import java.io.*;
import java.net.*;
public class Client{
public static void main(String argv[]) throws Exception{
String sentence;
String modifiedSentence;
BufferedReader inFromUser = new BufferedReader(
new InputStreamReader(System.in));//输入流System.in从键盘读入缓冲区
Socket clientSocket = new Socket("127.0.0.1",23333);
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: " + modifiedSentence);
clientSocket.close();
}
}
import java.io.*;
import java.net.*;
public class Server{
public static void main(String argv[]) throws Exception{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(23333);
while(true){
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(
connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(
connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence + '\n');
}
}
}

浙公网安备 33010602011771号