当前位置: 首页 > news >正文

淘客宝网站备案号如何弄手机便宜的网站建设

淘客宝网站备案号如何弄,手机便宜的网站建设,.网站空间,wordpress 功能插件优质博文IT-BLOG-CN 一、简介 Socket套接字#xff1a;描述了计算机的IP地址和端口#xff0c;运行在计算机中的程序之间采用socket进行数据通信。通信的两端都有socket#xff0c;它是一个通道#xff0c;数据在两个socket之间进行传输。socket把复杂的TCP/IP协议族隐藏在… 优质博文IT-BLOG-CN 一、简介 Socket套接字描述了计算机的IP地址和端口运行在计算机中的程序之间采用socket进行数据通信。通信的两端都有socket它是一个通道数据在两个socket之间进行传输。socket把复杂的TCP/IP协议族隐藏在socket接口后面对程序员来说只要用好socket相关的函数就可以完成数据通信。 TCP提供了流stream和数据报datagram两种通信机制所以套接字也分为流套接字和数据报套接字 【1】流套接字的类型是SOCK_STREAM它提供的是一个有序、可靠、双向字节流的连接因此发送的数据可以确保不会丢失、重复或乱序到达而且它还有出错后重新发送的机制。 【2】数据报套接的类型是SOCK_DGRAM它不需要建立和维持一个连接采用UDP/IP协议实现。它对可以发送的数据的长度有限制数据报作为一个单独的网络消息被传输它可能会丢失、复制或错乱到达UDP不是一个可靠的协议但是它的速度比较高因为它不需要建立和维持连接。 常见面试题TCP与UDP的区别 TCP传输控制协议和UDP用户数据报协议是两种常见的互联网传输协议它们在数据传输方面有以下区别 【1】连接性 TCP是面向连接的协议而UDP是无连接的协议。TCP在传输数据之前需要先建立连接而UDP则直接发送数据包。 【2】可靠性 TCP提供可靠的数据传输它使用确认、重传和流量控制等机制来确保数据的完整性和顺序性。而UDP不提供可靠性保证它只是简单地将数据包发送出去无法保证数据的到达和顺序。 【3】速度 由于TCP提供了可靠性保证它的传输速度相对较慢。而UDP没有额外的机制传输速度相对较快。 【4】数据量限制 TCP没有固定的数据包大小限制可以处理任意大小的数据。而UDP的数据包大小有限制最大为64KB。 【5】适用场景 TCP适用于对数据传输可靠性要求较高的场景例如文件传输、网页浏览等。而UDP适用于对实时性要求较高但对数据可靠性要求相对较低的场景例如音视频流媒体、实时游戏等。 总结来说TCP提供可靠的、面向连接的数据传输适用于对数据完整性和顺序性要求较高的场景。而UDP提供快速的、无连接的数据传输适用于对实时性要求较高的场景。 二、Socket通信过程 【1】服务端程序将一个套接字绑定到指定的ip地址和端口并通过此套接字等待和监听客户的连接请求。 【2】客户程序向服务端程序绑定的地址和端口发出连接请求。 【3】服务端接受连接请求。 【4】客户端和服务端通过读写套接字进行通信。 TCP链接 服务端工作流程 【1】创建服务端的socket。 【2把服务端用于通信的地址和端口绑定到socket上。 【3】把socket设置为监听模式。 【4】接受客户端的连接。 【5】与客户端通信接收客户端发过来的报文后回复处理结果。 【6不断的重复第5步直到客户端断开连接。 【7】关闭socket释放资源。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket;public class Server {public static void main(String[] args) {try {// 创建ServerSocket对象指定监听的端口号ServerSocket serverSocket new ServerSocket(45442);System.out.println(等待客户端连接...);// 监听客户端的连接请求Socket clientSocket serverSocket.accept();System.out.println(客户端已连接);// 获取输入流和输出流 输入流和输出流是通过socket对象来进行数据传输的。BufferedReader in new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));PrintWriter out new PrintWriter(clientSocket.getOutputStream(), true);String message;while (true) {// 读取客户端发送的信息message in.readLine();if (message.equalsIgnoreCase(exit)) {// 如果接收到终止标志退出循环break;}System.out.println(收到客户端消息 message);// 发送响应给客户端out.println(已收到你的消息 message);}// 关闭连接clientSocket.close();serverSocket.close();} catch (IOException e) {e.printStackTrace();}} }客户端的工作流程 【1】创建客户端的socket。 【2】向服务器发起连接请求。 【3】与服务端通信发送一个报文后等待回复然后再发下一个报文。 【4】不断的重复第3步直到全部的数据被发送完。 【5】第4步关闭socket释放资源。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket;public class Client {public static void main(String[] args) {try {// 创建Socket对象指定服务端的IP地址和端口号Socket socket new Socket(127.0.0.1, 45442);// 获取输入流和输出流 输入流和输出流是通过socket对象来进行数据传输的。BufferedReader in new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintWriter out new PrintWriter(socket.getOutputStream(), true);// 从控制台读取用户输入BufferedReader reader new BufferedReader(new InputStreamReader(System.in));String message;while (true) {System.out.println(请输入要发送的信息输入 exit 退出);message reader.readLine();if (message.equalsIgnoreCase(exit)) {// 如果用户输入 exit发送终止标志给服务端并退出循环out.println(exit);break;}// 将用户输入的信息发送给服务端out.println(message);// 接收服务端的响应并打印String response in.readLine();System.out.println(服务端响应 response);}// 关闭连接socket.close();} catch (IOException e) {e.printStackTrace();}} }测试数据 请输入要发送的信息输入 exit 退出 Hello Word 服务端响应已收到你的消息Hello Word在运行程序之前必须保证服务器的防火墙已经开通了网络访问策略 socket是系统资源操作系统打开的socket数量是有限的在程序退出之前必须关闭已打开的socket就像关闭文件指针一样就像delete已分配的内存一样极其重要。 UDP链接 使用UDP通信使用java.net.DatagramSocket创建了一个DatagramSocket对象。 【1】服务端 package socket.UDP;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.*;public class UDPClient {public static void main(String[] args) {try {// 创建DatagramSocket对象DatagramSocket socket new DatagramSocket();InetAddress serverAddress InetAddress.getByName(127.0.0.1);int serverPort 45442;// 从控制台读取用户输入BufferedReader reader new BufferedReader(new InputStreamReader(System.in));String message;while (true) {System.out.println(请输入要发送的信息输入 exit 退出);message reader.readLine();if (message.equalsIgnoreCase(exit)) {// 如果用户输入 exit退出循环break;}byte[] sendData message.getBytes();// 创建发送数据的DatagramPacket对象DatagramPacket sendPacket new DatagramPacket(sendData, sendData.length, serverAddress, serverPort);// 发送数据socket.send(sendPacket);byte[] receiveData new byte[1024];// 创建接收数据的DatagramPacket对象DatagramPacket receivePacket new DatagramPacket(receiveData, receiveData.length);// 接收服务端的响应socket.receive(receivePacket);// 将接收到的数据转换为字符串并打印String response new String(receivePacket.getData(), 0, receivePacket.getLength());System.out.println(服务端响应 response);}// 关闭Socket连接socket.close();} catch (IOException e) {e.printStackTrace();}} }【2】客户端 package socket.UDP;import java.io.IOException; import java.net.*;public class UDPServer {public static void main(String[] args) {try {// 创建DatagramSocket对象并指定监听的端口号DatagramSocket socket new DatagramSocket(45442);System.out.println(等待客户端连接...);byte[] receiveData new byte[1024];while (true) {// 创建接收数据的DatagramPacket对象DatagramPacket receivePacket new DatagramPacket(receiveData, receiveData.length);// 接收客户端发送的数据socket.receive(receivePacket);// 获取客户端的IP地址和端口号InetAddress clientAddress receivePacket.getAddress();int clientPort receivePacket.getPort();// 将接收到的数据转换为字符串String message new String(receivePacket.getData(), 0, receivePacket.getLength());System.out.println(收到客户端消息 message);if (message.equalsIgnoreCase(exit)) {// 如果接收到终止标志退出循环break;}// 构造发送数据的字节数组String response 已收到你的消息 message;byte[] sendData response.getBytes();// 创建发送数据的DatagramPacket对象DatagramPacket sendPacket new DatagramPacket(sendData, sendData.length, clientAddress, clientPort);// 发送响应给客户端socket.send(sendPacket);}// 关闭Socket连接socket.close();} catch (IOException e) {e.printStackTrace();}} } 测试数据 请输入要发送的信息输入 exit 退出 UPD Test 服务端响应已收到你的消息UPD Test
http://www.w-s-a.com/news/464262/

相关文章:

  • 青浦赵巷网站建设公司网站开发需求文档
  • 苏州网站建设的公司哪家好无锡网站制作那些
  • 装饰公司网站模板科技成果鉴定机构
  • 给公司做的东西放到私人网站上十堰为企业做网站的单位
  • 手机网站建设价钱手机自己做网站
  • 网站建设属于哪种公司电子商务查询网站
  • 工程建设标准强制性条文最新版本网站关键词排名优化应该怎么做
  • 网站网页设计内容品牌高端网站建设公司
  • 网站开发报价 福州中国建筑网官网手机版
  • 网站 图片 自动往右移专门做定制化的网站
  • 最好用的cms手机百度关键词排名 网站优化软件
  • 凉山州城乡规划建设局网站长沙网站建设哪家强
  • 广州网站开发创意设计公司企业自己怎么制作网站首页
  • 曲靖 曲靖网站建设软件(app)开发wordpress 没有远程发布
  • 官方网站开发与定制网站建设技术是干嘛的
  • 昆明网站建设工作室网站菜单导航怎么做的
  • 南京网站做的好的公司猪八戒网站做推广怎么样
  • 建站收费标准福州网站搭建
  • 做防护用品的网站欧美网站建设风格特点
  • 龙华做网站联系电话北京软件开发培训班
  • 做网站运营有前途网站的建设与管理的心得体会
  • 河南网站推广怎么做网页制作免费下载
  • 网站如何屏蔽中国ip商丘网站建设的公司哪家好
  • 东莞广告公司东莞网站建设价格鹤壁哪有做网站的
  • 门户网站界面设计logo设计商标设计
  • 建设银行网站驱动宁波网站建设相信荣胜网络
  • 八里河网站建设项目建设可行性企业品牌推广方式有哪些
  • jsp网站开发之html入门知识广州服装设计公司
  • 做电商看的网站有哪些个人网页制作成品免费
  • 沈阳建站多少钱境外网站 备案