为了账号安全,请及时绑定邮箱和手机立即绑定

该程序如何编写

该程序如何编写

宝慕林8176504 2017-06-15 17:01:30
查看完整描述

2 回答

已采纳
?
慕圣0830664

TA贡献41条经验 获得超26个赞

去看下这个课程,专门讲的这个例子 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();
  }
 }
}



查看完整回答
反对 回复 2017-06-16
?
书旅

TA贡献238条经验 获得超101个赞

那个是linux网络编程啊,类似一个简单的聊天室,不在电脑旁边,没法上传代码

查看完整回答
反对 回复 2017-06-16
  • 宝慕林8176504
    宝慕林8176504
    对,是Linux网络编程,大神用电脑上传一下代码吧,非常感谢哦???
  • 书旅
    书旅
    代码太多,超出字数上限了
  • 书旅
    书旅
    好吧,一会儿去机房就给你发
点击展开后面3
  • 2 回答
  • 0 关注
  • 1884 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信