黑马程序员技术交流社区

标题: Java基础 网络编程 [打印本页]

作者: 孟卫严    时间: 2015-7-10 22:48
标题: Java基础 网络编程
一、什么是计算机网络
        是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,
       在网络操作系统,网络管理软件及网络通信协议的管理和协调下,
        实现资源共享和信息传递的计算机系统。
二、什么是网络编程:
    就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。
三、什么是TCP和UDP:
    UDP
       将数据源和目的封装成数据包中,不需要建立连接;每个数据报的大小在限制在64k;
        因无连接,是不可靠协议;不需要建立连接,速度快
    TCP
     建立连接,形成传输数据的通道;在连接中进行大数据量传输;
     通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低
四、简单的Client端 和 Server端
客户端:
  1. /*
  2.         客户端
  3. */
  4. //导包
  5. import java.net.*;
  6. import java.io.*;
  7. class Client {
  8.         public static void main(String[] args)throws Exception {
  9.                 //先创建一个端口用来传送,必须制定主机名和端口号
  10.                 Socket s = new Socket("127.0.0.1",9999);
  11.                 //得到一个写入流,向服务端写数据
  12.                 OutputStream os = s.getOutputStream();
  13.                 //写入服务端的数据
  14.                 os.write("我要登陆进来,让我进去".getBytes());
  15.                 //关闭资源
  16.                 s.close();
  17.         }
  18. }
复制代码
服务端:

  1. /*
  2. Server端
  3. */
  4. //导包
  5. import java.net.*;
  6. import java.io.*;
  7. class Server {
  8.         public static void main(String[] args) throws Exception{
  9.                 //建立一个服务端口,用来接收端口
  10.                 ServerSocket ss = new ServerSocket(9999);
  11.                 Socket s =ss.accept();
  12.                 //获得客户端的IP地址
  13.                 String ip = s.getInetAddress().getHostAddress();
  14.                 //打印谁连入的
  15.                 System.out.println(ip+"......connected");
  16.                 //建立读取流
  17.                 InputStream is = s.getInputStream();
  18.                 //建立字符数组用来存储数据
  19.                 byte[] buf= new byte[1024];
  20.                 int len = is.read(buf);
  21.                 //将数据取出来
  22.                 String str = new String(buf,0,len);
  23.                 //将数据打印到控制台
  24.                 System.out.println(str);
  25.                 //关闭资源
  26.                 s.close();
  27.                 ss.close();
  28.         }
  29. }
复制代码
------<a  target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------




作者: 符慢慢    时间: 2015-7-11 06:49
对这个很感兴趣:victory:
作者: 加多宝    时间: 2015-7-11 09:04
这是什么的基础,java有学到吗
作者: 孟卫严    时间: 2015-7-11 12:27
加多宝 发表于 2015-7-11 09:04
这是什么的基础,java有学到吗

当你学JAVA基础课程的时候这个就在正则表达式和反射前面




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2