关闭

黑马程序员-Java基础--网络编程

124人阅读 评论(0) 收藏 举报

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一、什么是计算机网络:

是指将地理位置不同的具有独立功能的多台计算机及其外部设备,

通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,

实现资源共享和信息传递的计算机系统。

二、什么是网络编程:

就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。

三、什么是UDP和TCP协议:

UDP:

将数据源和目的封装成数据包中,不需要建立连接;每个数据报的大小在限制在64k;

因无连接,是不可靠协议;不需要建立连接,速度快

TCP:

建立连接,形成传输数据的通道;在连接中进行大数据量传输;

通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低

四、TCP编写简单的客户端和服务端:

代码如下:

/*
	客户端
*/
//导包
import java.net.*;
import java.io.*;
class Client {
	public static void main(String[] args)throws Exception {
		//先创建一个端口用来传送,必须制定主机名和端口号
		Socket s = new Socket("127.0.0.1",9999);
		//得到一个写入流,向服务端写数据
		OutputStream os = s.getOutputStream();
		//写入服务端的数据
		os.write("我要登陆进来,让我进去".getBytes());
		//关闭资源
		s.close();
	}
}

服务端:

代码如下:

/*
Server端
*/
//导包
import java.net.*;
import java.io.*;
class Server {
	public static void main(String[] args) throws Exception{
		//建立一个服务端口,用来接收端口
		ServerSocket ss = new ServerSocket(9999);
		Socket s =ss.accept();
		//获得客户端的IP地址
		String ip = s.getInetAddress().getHostAddress();
		//打印谁连入的
		System.out.println(ip+"......connected");
		//建立读取流
		InputStream is = s.getInputStream();
		//建立字符数组用来存储数据
		byte[] buf= new byte[1024];
		int len = is.read(buf);
		//将数据取出来
		String str = new String(buf,0,len);
		//将数据打印到控制台
		System.out.println(str);
		//关闭资源
		s.close();
		ss.close();
	}
}




四、




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1839次
    • 积分:114
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档