猿问

该程序如何编写

宝慕林8176504
浏览 1885回答 2
2回答

慕圣0830664

去看下这个课程,专门讲的这个例子 http://www.imooc.com/learn/161给你些代码参照一下:/*  2017年5月10日13:06:53  TCP协议是面向连接、可靠的、有序的,以字节流的方式发送数据   基于TCP协议实现网络通信的类  客户端的Socket类  服务器端的ServerSocket类    创建客户端大概步骤:  1、创建Socket对象,指明需要连接的服务器的地址和端口号  2、连接建立后,通过输出流向服务器端发送请求信息  3、通过输入流获取服务器响应的信息  4、关闭相关资源 */ import java.io.OutputStream; import java.io.PrintWriter; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.Socket; import java.net.UnknownHostException; //客户端 public class Client {  public static void main(String[] args) {   try {    //创建客户端Socket,指定服务器地址和端口号,执行此语句时,自己向服务器端发送联接请求    Socket socket = new Socket("localhost", 8888);    //通过Socket类中的getOutputStream()方法获取字节输出流    OutputStream os = socket.getOutputStream();    //将字节输出流转换成PrintWriter打印流    PrintWriter pw = new PrintWriter(os);    //向服务器端发送信息    pw.write("用户名:zhangsan; 密码:123" );    //刷新缓冲区    pw.flush();    socket.shutdownOutput(); //关闭输出流    //通过输入流接收服务器端发送过来的信息    BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));    String info = null;    while ((info = br.readLine()) != null) {     System.out.println("我是客记端,服务器端说:" + info);    }    socket.shutdownInput(); //关闭输入流    //关闭相关资源    br.close();    pw.close();    os.close();    socket.close();   } catch (UnknownHostException e) {    e.printStackTrace();   } catch (IOException e) {    e.printStackTrace();   }  } } /*  2017年5月10日13:05:46  TCP协议是面向连接、可靠的、有序的,以字节流的方式发送数据   基于TCP协议实现网络通信的类  客户端的Socket类  服务器端的ServerSocket类  创建服务器端大概步骤:  1、创建ServerSocket对象,绑定监听端口  2、通过accept()方法监听客户端请求  3、连接建立后,通过输入流读取客户端发送的请求信息  4、通过输出流向客户端发送响应信息  5、关闭相关资源 */ import java.net.ServerSocket; import java.net.Socket; import java.io.InputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter; //服务器端 public class Server {  public static void main(String[] args) {   try{    //创建一个服务端Socket,即ServerSocket,指定绑定的端口号,并监听此端口    ServerSocket serverSocket = new ServerSocket(8888);    System.out.println("***服务端即将启动,等待客户端的联接***");    //调用Socket类中的accept()方法监听客户端的请求    Socket socket = serverSocket.accept();    //调用Socket类中的getInputStream()方法,获取一个字节输入流    InputStream is = socket.getInputStream();    //将字节输入流转换为字符输入流    InputStreamReader isr = new InputStreamReader(is);    //将字符输入流转换成带缓冲区的输入流    BufferedReader br = new BufferedReader(isr);    //通过输入流获取客户端发送过来的信息    String info = null;    while ((info = br.readLine()) != null) {     System.out.println("我是服务器, 客户端说:" + info);    }    socket.shutdownInput(); //关闭输入流    PrintWriter pw = new PrintWriter(socket.getOutputStream());    pw.write("欢迎光临!");    pw.flush();    //关闭相关资源    pw.close();    br.close();    isr.close();    is.close();    socket.close();    serverSocket.close();   } catch (IOException e) {    e.printStackTrace();   }  } }

书旅

那个是linux网络编程啊,类似一个简单的聊天室,不在电脑旁边,没法上传代码
随时随地看视频慕课网APP
我要回答