Java网络编程
来源:互联网 发布:福建广电网络收费价格 编辑:程序博客网 时间:2024/04/30 10:11
------------------- android开发、java培训、期待与您交流! ----------------------
一、网络: 将不同区域的电脑连接到一起, 局域网、城域网、广域网
二、IP :位置
端口:区分数据流向的软件 0-65535
不要使用1024以下的端口 ,每一个协议拥有自己的端口,在同一个协议下端口不能重复
<FTP:21>
HTTP:80
三、URL:统一资源定位符
四、资源的传输协议
TCP:TCP(transfer control protocol) 打电话
面向连接、安全、可靠,效率低
UDP: UDP(UserDatagramProtocol ) 发送短信
非面向连接、不安全、数据可能丢失 、效率高
五、UDP编程: DatagramSocket DatagramPacket
1、服务器:
a)、创建服务器 指定端口
b)、准备接收容器 字节数组 +封装成数据包
c)、接收数据
d)、分析数据
e)、释放资源
2、客户端:
a)、创建客户端 指定端口
b)、准备数据 字节数组
c)、封装成数据包 需要指定包发送 的地址+端口 即服务器地址与端口
d)、发生数据
e)、释放资源
六、TCP编程:ServerSocket Socket
1、服务器:
a)、创建服务器 指定端口
b)、等待客户端连接
c)、分析接收数据
2、客户端:
a)、创建客户端 +指定服务器地址 +端口
b)、发送数据
代码:
public class Client {
public static void main(String[] args) throws Exception {
//创建socket对象
Socket socket = new Socket("127.0.0.1",10001);
//获取键盘输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入一个字符串:");
//创建输出流
BufferedWriter bufout= new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
//获取输入流
BufferedReader bufIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = null;
while((line=br.readLine())!=null){
bufout.write(line);
bufout.newLine();
bufout.flush();
String str = bufIn.readLine();
System.out.println("server:"+str);
}
br.close();
socket.close();
}
}
public class Server {
public static void main(String[] args) throws IOException {
//监听10001端口
ServerSocket ss = new ServerSocket(10001);
System.out.println("server start..");
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+"...connected");
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//创建一个输出流
BufferedWriter bufout= new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line= null ;
while ((line = br.readLine()) != null) {
//反转字符串
StringBuffer sb = new StringBuffer(line);
String str = sb.reverse().toString();
//将反转后的字符输出到客户端
bufout.write(str);
bufout.newLine();
bufout.flush();
}
}
}
------------------- android开发、java培训、期待与您交流! ----------------------
- 【网络编程】JAVA网络编程
- java网络编程:网络基本概念
- Java网络编程-UDP编程
- Java 高层网络编程
- Java网络编程2
- Java网络编程3
- Java网络编程4
- Java网络服务器编程
- java网络编程1
- java网络编程2
- JAVA网络编程
- Java网络服务器编程
- java网络编程
- Java 高层网络编程
- Java 高层网络编程
- Java网络服务器编程
- Java网络编程
- JAVA网络编程
- ARC
- valuestack,stackContext,ActionContext.之间的关系
- Swift学习之七:Optional value(可选值)
- 黑马程序员:java基础知识(三)
- 中国特色程序员的「钱途」
- Java网络编程
- 多线程和网络
- SharePoint 2010 添加“我的链接”菜单
- hbase ubuntu 单机版 安装配置
- apue读书笔记【七】:文件共享
- 工作7年
- 数据结构课程设计题目四_二叉树
- 淘宝数据库OceanBase SQL编译器部分 源码阅读--生成逻辑计划
- iOS UI 框架