Java中的网路编程主要是Java的Socket编程,属于JavaEE中的高级的部分,以下内容是对java网路编程的一个小结,代码都是经过编译调试的

C/S程序应用:客户/服务器模式,如QQ客户端,客户端连到服务器上,一个C/S模式的应用必须有两套程序,一个是客户端的程序,一个是服务器程序。

B/S程序应用:浏览器/服务器模式,如当下的各种网站都是B/S模式,所有的程序代码都在服务器上,用户通过浏览器去访问。

C/S程序分为两种:

基于TCP协议:Socket(套接字), 可靠的编程: A->B 如打电话先建立连接

基于UDP协议:不可靠,如短信功能。

如果编写一个TCP程序需要JAVA的两个包支持:

java.net.*: 主要提供网络支持;

|-ServerSocket类:服务器端程序

|-Socket类:客户端程序

java,io.*:传递信息流

客户端的两个功能:

1.建立Socket

2.接收输入的命令(输入流)->网络上传输的程序考的是字节流

以下是服务器端,客户端的两个事例程序,服务器端想客户端输出Hello word, 客户端接收并显示;

服务器程序:import java.io.*;

import java.net.*;

public class TCPSever {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

//使用ServerSocket

ServerSocket server = new ServerSocket(8000);

//每个用户在程序中就是一个Socket

Socket client = null;

//等待客户端连接

client = server.accept();

//像客户端打印信息

PrintWriter out = null;

//准被向客户端打印信息

out = new PrintWriter(client.getOutputStream());

out.println("Hello World");

out.close();

client.close();

server.close();

}

}

客户端程序:package Client;

import java.io.*;

import java.net.*;

public class TCPClient {

/**

* @param args

* @throws IOException

* @throws UnknownHostException

*/

public static void main(String[] args) throws UnknownHostException, IOException {

// TODO Auto-generated method stub

//表示一个客户端的Socket

Socket client = null;

//表示一个客户端的输入信息

BufferedReader  buf = null;

client = new Socket("localhost",8000);

buf = new BufferedReader(new InputStreamReader(client.getInputStream()));

System.out.println(buf.readLine());

buf.close();

client.close();

}

}

在JDK中也准备了两个专门用于实现UDP的类

1.DatagramScoket

2.DatagramPacket

服务器端程序:package Client;

import java.io.*;

import java.net.*;

public class TCPClient {

/**

* @param args

* @throws IOException

* @throws UnknownHostException

*/

public static void main(String[] args) throws UnknownHostException, IOException {

// TODO Auto-generated method stub

//表示一个客户端的Socket

Socket client = null;

//表示一个客户端的输入信息

BufferedReader  buf = null;

client = new Socket("localhost",8000);

buf = new BufferedReader(new InputStreamReader(client.getInputStream()));

System.out.println(buf.readLine());

buf.close();

client.close();

}

}

客户端程序:package Test4;

import java.io.*;

import java.net.*;

public class UDPClient {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

DatagramSocket ds = null;

DatagramPacket dp = null;

byte[] b = new byte[1024];

ds = new DatagramSocket(8000);

dp = new DatagramPacket(b,b.length);

ds.receive(dp);

String str = new String(dp.getData(),0,dp.getLength());

System.out.println(str);

}

}

java的的socket编程_javasocket编程相关推荐

  1. Linux C++/Java/Web/OC Socket网络编程

    一,Linux C++ Socket网络编程 1.什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制 ...

  2. Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...

    TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题. Jav ...

  3. Java TCP/IP Socket 编程 笔记

    http://jimmee.iteye.com/blog/617110 http://jimmee.iteye.com/category/93740 Java TCP/IP Socket 编程 笔记( ...

  4. 浅谈JAVA中如何利用socket进行网络编程(二)

    转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  5. asp.core api 通过socket和服务器通信发送udp_读懂Java中的Socket编程

    Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...

  6. 读懂Java中的Socket编程

    Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...

  7. java web 进程通信_RMI网络编程开发之一 JAVA“进程间”通信方式

    注意该标题是 "进程"间通信,而并非"线程"之间的通信. 线程之间的通信是多线程的讨论范畴.这里我们是要讨论分布式的独立的JAVA程序之间是怎么通信的.当然,大 ...

  8. java 编程原理_Java网络编程 -- 网络编程基础原理

    Hello,今天记录下 Java网络编程 --> 网络编程基础原理. 一起学习,一起进步.继续沉淀,慢慢强大.希望这文章对您有帮助.若有写的不好的地方,欢迎评论给建议哈! 初写博客不久,我是杨展 ...

  9. Java核心类库篇8——网络编程

    Java核心类库篇8--网络编程 1.七层网络模型 OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985 年研究的网络互连模型. 当发 ...

  10. java小球碰撞实验报告_20155317 《Java程序设计》实验五网络编程与安全实验报告...

    20155317 <Java程序设计>实验五网络编程与安全实验报告 遇到问题 在刚开始启动客户端或者服务端时,出现了一系列的错误情况,总是提示异常信息 后来经过询问同学,反应将端口号修改一 ...

最新文章

  1. javascript数组集锦
  2. Linux基础知识题解答(一)
  3. http://www.cnblogs.com/Javame/p/3632473.html
  4. 编程方法学17:多维数组
  5. Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解
  6. 多线程—synchronized及同步器
  7. LOJ dfs序1234
  8. 层层递进——宽度优先搜索(BFS)
  9. 20190806:字符串解密
  10. python语言能做什么-python语言到底可以做什么呢?
  11. unistd.h的close(0)导致std::cout被关闭
  12. RACCommand
  13. 某人分析的70后,80后,90后
  14. 物体检测object detection object recognition和coco数据集 动手学深度学习v2 pytorch
  15. STM32G0系列的启动配置与程序下载
  16. 在线计算机性能测试,电脑性能检测
  17. SONY UP-D898MD 或 UP-X898MD驱动在WIN10 64下的安装
  18. 不断改进的FUP TC20H 台式多用途高速冷冻离心机
  19. serverTimezone
  20. uniapp制作App实现下载系列功能

热门文章

  1. 视频监控存储解决方案——快速、可靠的视频存储
  2. 2021 Top5 免费录屏软件
  3. 处理器虚拟化——VMX
  4. SQL 日期函数的使用方法
  5. 自然语言处理简明教程——序言、第一章
  6. 汇编语言下载安装及使用(hello world,仅供学习参考)
  7. 【UAC】Windows UAC 原理浅析
  8. PMP第六版 十大知识领域五大过程组
  9. java ToStringBuilder
  10. iOS上架app store下载步骤