-
老师说了很多错误的东西,,,,,查看全部
-
重要:java中的网络支持,提供的网络功能的四大类。查看全部
-
Java中的网络支持 Java提供的网络功能有四大类: 1.InetAddress:用于标识网络上的硬件资源, 2,Url:统一资源定位器, 3.sockets:使用TCP协议实现网络通信的的socket相关类。 4.Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信。查看全部
-
项目背景查看全部
-
1、多线程的优先级
未设置优先级可能会导致运行速度非常慢,可降低优先级
2、是否关闭输出流和输入流
对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会被关闭,所以一般不用关闭流,直接关闭socket
3、使用TCP通信传输对象
4、socket编程传递文件
查看全部 -
UDP----服务器端实现步骤查看全部
-
3.上传文件查看全部
-
网络基础知识:
1、TCP/IP协议簇 -传输层协议
HTTP 超文本传输协议、FTP文件传输协议、SMTP简单邮件传输协议、Telnet 远程登录服务-应用层
2、IP地址
3、端口:端口号范围0~65535,0~1023为系统所保留
4、socket(IP+端口号,TCP和UDP的基础)
5、JAVA提供网络功能四大类:
(1)InetAddress:网络的硬件资源-IP
(2)URL:统一资源定位符,读写网络上的数据
(3)Sockets:使用TCP协议实现网络通信
(4)Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信
查看全部 -
http :80
ftp:21
telnet:23 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法
查看全部 -
基于UDP的多线程登陆
/** * 服务器端,实现基于UDP的用户登录 * @author Strawberry * */ public class Test006_UDPServer { public static void main(String[] args) throws IOException { //创建服务器DatagramSocket,并指定端口 DatagramSocket datagramSocket=new DatagramSocket(8800); //创建数据报,用于接收客户端信息 byte[] data=new byte[1024]; int count=0; System.out.println("***Server start, waiting data from client..***"); //开始接收客户端信息 while(true){ DatagramPacket datagramPacket=new DatagramPacket(data, data.length); datagramSocket.receive(datagramPacket);//此方法在接收到数据报之前会一直阻塞 Test006_ServerThread serverThread=new Test006_ServerThread(datagramSocket, datagramPacket); serverThread.start(); count++; System.out.println("client connected:"+count); serverThread.sendData(); } //关闭资源 //datagramSocket.close(); } }
/** * 线程处理类 * @author Strawberry * */ public class Test006_ServerThread extends Thread{ DatagramSocket datagramSocket=null; DatagramPacket datagramPacket=null; public Test006_ServerThread(DatagramSocket datagramSocket,DatagramPacket datagramPacket){ this.datagramSocket=datagramSocket; this.datagramPacket=datagramPacket; } public void run(){ //接收客户端信息 byte[] data=datagramPacket.getData(); String info=new String(data, 0, datagramPacket.getLength()); System.out.println("[Info from client]: "+info); } public void sendData(){ //响应客户端信息 try { InetAddress address=datagramPacket.getAddress(); int port=datagramPacket.getPort(); String info2="Login Success!"; byte[] data2=info2.getBytes(); DatagramPacket datagramPacket2=new DatagramPacket(data2, data2.length, address, port); datagramSocket.send(datagramPacket2); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
查看全部 -
Socket通信模型查看全部
-
url 读取网页数据 最后要关掉3个流<br />查看全部
-
/*TCP服务器端*/ public class Server { public static void main(String[] args) { try { //1.创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口 ServerSocket serverSocket = new ServerSocket(8888); //2.调用accept()方法开始监听,等待客户端的连接 System.out.println("服务器即将启动,等待客户端的连接"); Socket socket = serverSocket.accept(); //3.获取输入流,并读取客户端信息 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();//关闭输入流 //4.关闭资源 br.close(); isr.close(); is.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
/*TCP客户端*/ public class Client { public static void main(String[] args) { try { //1.创建客户端Socket,指定服务器地址和端口 Socket socket = new Socket("localhost",8888); //2.获取输出流,向服务器端发送信息 OutputStream os = socket.getOutputStream();//字节输出流 PrintWriter pw = new PrintWriter(os);//将输出流包装成打印流 pw.write("用户名:admin;密码:123"); pw.flush(); socket.shutdownOutput();//关闭输出流 //3.关闭资源 pw.close(); os.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
查看全部 -
TCP和UDP编程都用在什么地方? 网络通信,例如QQ客户端和服务器间的通信 TCP是面向连接的、可靠的,如果对通信数据的可靠性要求比较高,确保数据对方可以收到,可以使用TCP UDP是无连接的,在通信前不会预先建立连接,无法保证可靠性,一般用于对数据可靠性要求不是那么高的场合查看全部
-
url:统一资源定位符 表示Internet上某一资源的地址 URL 由 协议名称+资源名称 中间冒号隔开 URL -》java.net包查看全部
举报