1、可运行,练习,java 网络编程,客户端和服务器端互发信息 ,半双工*服务器端代码:/* 这是一个服务器端程序,让他在9999端口监听* 可以接受从客户端发来的信息*/package com.test1;import .*;import java.io.*;public class myServer1 public static void main(String args) / TODO Auto-generated method stubmyServer1 ms1=new myServer1();public myServer1()try/在9999号端口监听ServerSocket ss=
2、new ServerSocket(9999);/ss管道System.out.println(“我是服务器,在 9999端口监听“);/等待某个客户端链接,该函数会返回一个 Socket链接Socket s=ss.accept();/s链接System.out.println(“上面函数 accept会阻塞,这句话不会打印,除非有链接被监听到。 “);/要读取s中传输的数据InputStreamReader isr=new InputStreamReader(s.getInputStream();BufferedReader br=new BufferedReader(isr);String
3、info=br.readLine();System.out.println(“服务器接收到: “+info);PrintWriter pw=new PrintWriter(s.getOutputStream(),true);pw.println(“你好?我是服务器端。“);catch(Exception e)e.printStackTrace();*客户端代码:/* 这是一个客户端程序,可以链接服务器端*/package com.test;import .*;import java.io.*;public class myClient1 public static void main(Stri
4、ng args) / TODO Auto-generated method stubmyClient1 mc1=new myClient1();public myClient1()try/Socket函数就是去链接某个服务器端(ip ,端口号)Socket s=new Socket(“127.0.0.1“,9999);/如果s 链接成功,就可以发送数据给服务器/通过pw 向s写数据,true表示即时刷新PrintWriter pw=new PrintWriter(s.getOutputStream(),true);pw.println(“你好?我是客户端。“);/要读取s中传输的数据InputStreamReader isr=new InputStreamReader(s.getInputStream();BufferedReader br=new BufferedReader(isr);String response=br.readLine();System.out.println(“我是客户端,我收到到:“+response);catch (Exception e)e.printStackTrace();*完2014 年 6 月 14 日星期六