简单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');
		}		
	}
	
}
posted @ 2020-08-28 17:28  山野村夫z1  阅读(164)  评论(0)    收藏  举报