Java中的Scoket编程_Ubuntu_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Ubuntu

    当前位置:主页 > 服务器教程 > Ubuntu >

    Java中的Scoket编程

    时间:2019-09-11|栏目:Ubuntu|点击:
  • 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。

    Java.net包中提供了两种常见的网络协议的支持:

    TCP: TCP是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常用于互联网协议,被称TCP / IP。

    UDP:UDP是用户数据报协议的缩写,一个无连接的协议。提供了应用程序之间要发送的数据的数据包。

    在这里我们主要讲解socket编程(使用最为广泛的网络编程),举个简单的例子,就像是我们平常用的QQ,每个人用的都是一个Client(客户端),而服务端则是腾讯的服务器,我们彼此之间的通信是通过先将消息发送到服务端,然后服务端转发到目标客户端(你想要发送给的对象),而不是每个客户端直接通信。

    由此我们可以得出socket通信的基本流程:

    首先是客户端:通过IP地址和port(端口号)与服务端建立连接->进行信息传递—>关闭连接,然后是服务端:对客户端进行监听—>建立连接—>信息传递—>关闭连接。

    下面是一个简单的实现客户端和服务端通信的例子:

      服务端:

    1 package com.internet.server; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.net.ServerSocket; 7 import java.net.Socket; 8 9 public class TestServer { 10 public static void main(String[] args) { 11 ServerSocket serverSocket = null; 12 Socket socket = null; 13 OutputStream out = null; 14 InputStream in = null; 15 int port = 12125; 16 17 try { 18 serverSocket = new ServerSocket(port); 19 System.out.println("服务端开始监听!!!"); 20 socket = serverSocket.accept(); 21 in = socket.getInputStream(); 22 byte[] b = new byte[1024]; 23 out = socket.getOutputStream(); 24 for (int i = 0; i < 3; i++) { 25 int n = in.read(b); 26 System.out.println("接收到的信息为:" + new String(b, 0, n)); 27 out.write(b, 0, n); 28 } 29 30 } catch (IOException e) { 31 e.printStackTrace(); 32 } finally { 33 try { 34 out.close(); 35 in.close(); 36 socket.close(); 37 serverSocket.close(); 38 } catch (IOException e) { 39 e.printStackTrace(); 40 } 41 } 42 43 } 44 }

      客户端:

    1 package lib; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.net.Socket; 7 8 public class TestClient { 9 public static void main(String[] args) throws InterruptedException, 10 IOException { 11 Socket socket = null; 12 InputStream in = null; 13 OutputStream out = null; 14 // 定义端口 15 int port = 12125; 16 // 服务端的IP地址 17 String serverIP = "127.0.0.1"; 18 // 传递的数据 19 String data[] = { "First", "Second", "Third" }; 20 try { 21 socket = new Socket(serverIP, port); 22 out = socket.getOutputStream(); 23 in = socket.getInputStream(); 24 byte[] b = new byte[1024]; 25 for (int i = 0; i < data.length; i++) { 26 out.write(data[i].getBytes()); 27 int n = in.read(b); 28 System.out.println("传递的数据为:" + new String(b, 0, n)); 29 } 30 } catch (IOException e) { 31 e.printStackTrace(); 32 } finally { 33 in.close(); 34 out.close(); 35 socket.close(); 36 } 37 } 38 }

    上一篇:算法学习之快速排序原理及实现

    栏    目:Ubuntu

    下一篇:JavaWeb中的简单分页

    本文标题:Java中的Scoket编程

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Ubuntu/50159.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号