网站照片如何处理,网站上做网页怎么改图片,粉末涂料做网站有用吗,如何看出一个网站有做seo网络编程
1.概念#xff1a;两台设备之间通过网络数据传输。 2.网络通信#xff1a;将数据通过网络从一台设备传输另外一台设备。 3.java.net包下提供了一系列的类和接口#xff0c;提供程序员使用#xff0c;完成网络通信。
TCP和UDP
TCP协议#xff1a; 1.使用TCP协…网络编程
1.概念两台设备之间通过网络数据传输。 2.网络通信将数据通过网络从一台设备传输另外一台设备。 3.java.net包下提供了一系列的类和接口提供程序员使用完成网络通信。
TCP和UDP
TCP协议 1.使用TCP协议前需建立TCP连接形成传输数据通道。 2.传输前采用“三次握手”方式是可靠的。 3.TCP协议进行通信的两个应用进程客户端、服务端。 4.在连接中可进行大数据量的传输。
UDP协议 1.将数据、源、目的封装成数据包不需要建立连接 2.每个数据报的大小限制在64Kb内 3.因无需连接故是不可靠的 4.发送数据结束时无需释放资源速度快。 5.举例发短信
介绍java.net中的工具类 Socket介绍
1.套接字Socket开发网络应用程序被广泛以至于成为事实上的标准。 2.通信额两端都要有Socket是两台机器通信的端点。 3.网络通信其实是Socket间的通信。 4.Socket允许程序把网络连接当成一个流数据在两个Socket间通过IO传输。 5.一般主动发起通信的应用程序属于客户端等待通信请求的为服务端。 当我们需要通讯时读写数据,客户端和服务端分别使用以下两个方法。 1.socket.getOutputSream() 2.socket.getInputStream() Socket有TCP编程和UDP编程。
TCP网络通信编程的案例
要求 1.编写一个服务器端和客户端。 2.服务器端在9999端口监听。 3.客户端连接到服务器发送“Hello server”然后退出。 4.服务器端接受到客户端发送的信息输出并退出。
思路 代码实现客户端如下
import java.io.IOException;
import java.io.OutputStream;
import java.net.*;public class SocketClientTCP01 {public static void main(String[] args) {try {// 思路// 1.连接服务端// 解读连接本机的9999如果连接成功返回socket对象Socket socket new Socket(InetAddress.getLocalHost(), 9999);System.out.print(服务 socket socket.getClass());// 2. 连接上后生成Socket通过socket.getOutputStream()// 得到 和 socket对象关联的输出流对象 OutputStream outputStream socket.getOutputStream();// 3.通过输出流写入数据到据通道outputStream.write(hello , server .getBytes());// 4. 关闭流outputStream.close();socket.close();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}服务端如下
import java.io.IOException;
import java.io.InputStream;
import java.net.*;
public class SocketServerTCP01 {public static void main(String[] args) {try {// 1.在本机的9999端口监听等待连接//细节一台主机只能有重复的端口存在//细节ServerSocket可以通过accept()返回多个Socket[多个客户端]ServerSocket serverSocket new ServerSocket(9999);System.out.print(我在9999端口等待监听等待连接);// 2.当没有客户端连接9999端口时程序会阻塞等待连接//如果有客户端连接则会返回Socket对象程序继续Socket socket serverSocket.accept();System.out.print(服务端 socket socket.getClass());// 3.通过socket.getInputStream(),读取客户端写入到数据通道的数据显示InputStream input socket.getInputStream();// 4.读取IO相关byte [] buf new byte[1024];int readLen 0 ; while((readLen input.read(buf)) ! -1) {//根据读取到的实际长度显示内容System.out.print(new String(buf , 0 , readLen));}input.close();socket.close();} catch (IOException e) {e.printStackTrace();}}
}案例服务端与客户端相互发送 其中服务端 代码如下
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class SocketTCP02Server {public static void main(String[] args) {try {// 1.在本机的9999端口监听等待连接//细节一台主机只能有重复的端口存在//细节ServerSocket可以通过accept()返回多个Socket[多个客户端]ServerSocket serverSocket new ServerSocket(9999);System.out.print(我在9999端口等待监听等待连接 \n);// 2.当没有客户端连接9999端口时程序会阻塞等待连接//如果有客户端连接则会返回Socket对象程序继续Socket socket serverSocket.accept();System.out.print(服务端 socket socket.getClass() \n);// 3.通过socket.getInputStream(),读取客户端写入到数据通道的数据显示InputStream input socket.getInputStream();// 4.读取IO相关byte [] buf new byte[1024];int readLen 0 ;while((readLen input.read(buf)) ! -1) {//根据读取到的实际长度显示内容System.out.print(new String(buf , 0 , readLen));}// 获取socket相关的输出流OutputStream outputStream socket.getOutputStream();outputStream.write(hello , client .getBytes());socket.shutdownOutput();//关闭资源input.close();socket.close();outputStream.close();} catch (IOException e) {e.printStackTrace();}}
}
客户端程序为
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketTCP02Client {public static void main(String[] args) {try {// 思路// 1.连接服务端// 解读连接本机的9999如果连接成功返回socket对象Socket socket new Socket(InetAddress.getLocalHost(), 9999);System.out.print(服务 socket socket.getClass() \n);// 2. 连接上后生成Socket通过socket.getOutputStream()// 得到 和 socket对象关联的输出流对象OutputStream outputStream socket.getOutputStream();// 3.通过输出流写入数据到据通道outputStream.write(hello , server .getBytes());//发送结束标志 半双工吗socket.shutdownOutput();//4.获取和socket关联的输入流读取数据byte并显示InputStream inputStream socket.getInputStream();// 4.读取IO相关byte [] buf new byte[1024];int readLen 0 ;while((readLen inputStream.read(buf)) ! -1) {//根据读取到的实际长度显示内容System.out.print(new String(buf , 0 , readLen));}// 5. 关闭流inputStream.close();outputStream.close();socket.close();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}