Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?

Java代码
  1. public class Server {   
  2.        
  3.     public static final int SERVER_PORT = 8888;   
  4.        
  5.     public void startServer() {   
  6.         try {   
  7.             ServerSocket ss = new ServerSocket(SERVER_PORT);   
  8.             //时刻监听客户端的连接   
  9.             while(true) {   
  10.                 //接手客户端的连接   
  11.                 Socket s = ss.accept();   
  12.                 //得到接收的这个Socket的输入流,并封装成一个BufferedReader()   
  13.                 BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));   
  14.                    
  15.                 //将从客户端接收到的数据在发送回客户端   
  16.                 PrintWriter pw = new PrintWriter(s.getOutputStream(), true);   
  17.                 pw.println(br.readLine());   
  18.                 //关闭相应的资源   
  19.                 br.close();   
  20.                 pw.close();   
  21.                 s.close();   
  22.                 System.err.println(br.readLine());   
  23.             }   
  24.         } catch (IOException e) {   
  25.         }   
  26.     }   
  27.        
  28.     public static void main(String[] args) {   
  29.         new Server().startServer();   
  30.     }   
  31. }  
public class Server {
	
	public static final int SERVER_PORT = 8888;
	
	public void startServer() {
		try {
			ServerSocket ss = new ServerSocket(SERVER_PORT);
			//时刻监听客户端的连接
			while(true) {
				//接手客户端的连接
				Socket s = ss.accept();
				//得到接收的这个Socket的输入流,并封装成一个BufferedReader()
				BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
				
				//将从客户端接收到的数据在发送回客户端
				PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
				pw.println(br.readLine());
				//关闭相应的资源
				br.close();
				pw.close();
				s.close();
				System.err.println(br.readLine());
			}
		} catch (IOException e) {
		}
	}
	
	public static void main(String[] args) {
		new Server().startServer();
	}
}

 

Java代码
  1. public class Client {   
  2.     public void connServer() {   
  3.         try {   
  4.             //建立与服务器端的链接   
  5.             Socket s = new Socket("localhost",Server.SERVER_PORT);   
  6.             //监听键盘事件,等待用户输入字符串   
  7.             Scanner sc = new Scanner(System.in);   
  8.             //得到Socket的输入流封装成一个PrintWriter   
  9.             PrintWriter pw = new PrintWriter(s.getOutputStream(), true);   
  10.             //把用户输入的字符写出去   
  11.             pw.println(sc.nextLine());   
  12.                
  13.             //得到服务器端的输入流并封装成BufferedReader对象   
  14.             BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));   
  15.             System.out.println(br.readLine() + "服务器发送给我的数据");   
  16.                
  17.         } catch (UnknownHostException e) {   
  18.         } catch (IOException e) {   
  19.         }   
  20.     }   
  21.        
  22.     public static void main(String[] args) {   
  23.         new Client().connServer();   
  24.     }   
  25. }  

 

转自:http://longdechuanren.javaeye.com/blog/644346

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java网络编程中,有两种常用的Socket,分别是ServerSocketSocket。 1. ServerSocket ServerSocket服务器端用于监听客户端连接请求的类。它创建一个服务器端的Socket,等待客户端的连接请求。当客户端连接成功后,ServerSocket会返回一个Socket对象,通过该Socket对象可以与客户端进行通信。使用ServerSocket的步骤如下: (1)创建ServerSocket对象并指定端口号; (2)调用ServerSocket的accept()方法等待客户端连接; (3)当客户端连接成功后,accept()方法会返回一个Socket对象,使用该Socket对象与客户端进行通信通信完成后关闭Socket。 示例代码如下: ```java try { ServerSocket serverSocket = new ServerSocket(8888); System.out.println("服务器已启动,等待客户端连接..."); Socket socket = serverSocket.accept(); System.out.println("客户端已连接,客户端地址:" + socket.getInetAddress().getHostAddress()); // 与客户端进行通信 // ... socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } ``` 2. Socket Socket是客户端用于向服务器端发起连接请求的类。它创建一个客户端的Socket,并与服务器端进行连接。使用Socket的步骤如下: (1)创建Socket对象并指定服务器端的IP地址和端口号; (2)调用Socket的connect()方法连接服务器端; (3)连接成功后,使用Socket对象与服务器端进行通信通信完成后关闭Socket。 示例代码如下: ```java try { Socket socket = new Socket("127.0.0.1", 8888); System.out.println("已连接服务器服务器地址:" + socket.getInetAddress().getHostAddress()); // 与服务器端进行通信 // ... socket.close(); } catch (IOException e) { e.printStackTrace(); } ``` 这里以TCP协议为例进行说明,对于UDP协议,也可以使用DatagramSocket和DatagramPacket类来进行相关操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值