常见Javase中的的网络编程
来源:互联网 发布:盘古ios9.2 for mac 编辑:程序博客网 时间:2024/06/03 17:45
ServerSocket:服务端
Socket:客户端
A电脑(客户端)---》B电脑(服务端)发送一句话,你在么?
A:Socket
B:ServerSocket
网络操作步骤:
step1:分别在两台电脑上,创建2个应用程序(网络应用程序)
服务端:ServerSocket:指明port
客户端:Socket:指明连接的服务端的ip,port
step2:服务端接收客户端的请求:获取一个对应的Socket,是和客户端Socket一一连接。
server.accept()-->Socket
step3:从Socket中获取IO流,做数据的交互。
getInputStream()-->InputStream
getOutputStream()-->OutputStream
字节为单位的输入/输出流--->包装
step4:读或写数据:
read()
write()
step5:关闭资源
需求1:客户端跟服务端传递:你在么?
需求2:服务端-->客户端:你谁啊
需求3:
服务端-->客户端:你谁啊(由键盘输入)
客户端-->服务器:我是小白兔(键盘输入)
服务端:
step1:读取键盘:输入流
step2:写给客户端:输出流
step6:读取客户端:输入流
客户端:
step3:读取服务端:输入流
step4:读取键盘输入:输入流
step5:写给服务端:输出流
需求4:客户端-服务端:多句聊天
客户端-->服务端说:你在么
服务端-->客户端说:我在的,你谁啊
客户端-->服务端说:我是长颈鹿
服务端-->客户端说:不认识
客户端-->服务端说:over
read()阻塞
需求5:服务端ECHO程序:回音
客户端-->服务器:"你在么"
服务器-->客户端:"ECHO:你在么"
客户端-->服务端:"今天天气不好"
服务端-->客户端:"ECHO:今天天气不好"
客户端:
step1:读取键盘
step2:写给服务端
step5:读取服务端来的回音
服务端:
step3:读取客户端传来的数据
step4:写给客户端:“ECHO:数据”
需求6:服务端同时处理多个客户端的ECHO程序
使用多线程
需求7:客户端-->服务端:一张图片
总结:
Socket编程:
A:主机
IP地址:真实的ip地址
127.0.0.1,localhost...
B:网络应用程序
QQ,微信,MSN。。。。
Demo01.....
port:端口号
int:0-256*256
5566
7788
7799
8888
12345
54321
一个端口号,只能够被一个网络应用程序占用。
C:协议:网络七层协议
TCP:面向连接的
发送数据,靠谱
UDP:面向无连接
无法保证数据的安全性
Java:
TCP:
Socket
ServerSocket
UDP:
DatagramSocket
Socket:客户端
A电脑(客户端)---》B电脑(服务端)发送一句话,你在么?
A:Socket
B:ServerSocket
网络操作步骤:
step1:分别在两台电脑上,创建2个应用程序(网络应用程序)
服务端:ServerSocket:指明port
客户端:Socket:指明连接的服务端的ip,port
step2:服务端接收客户端的请求:获取一个对应的Socket,是和客户端Socket一一连接。
server.accept()-->Socket
step3:从Socket中获取IO流,做数据的交互。
getInputStream()-->InputStream
getOutputStream()-->OutputStream
字节为单位的输入/输出流--->包装
step4:读或写数据:
read()
write()
step5:关闭资源
需求1:客户端跟服务端传递:你在么?
需求2:服务端-->客户端:你谁啊
需求3:
服务端-->客户端:你谁啊(由键盘输入)
客户端-->服务器:我是小白兔(键盘输入)
服务端:
step1:读取键盘:输入流
step2:写给客户端:输出流
step6:读取客户端:输入流
客户端:
step3:读取服务端:输入流
step4:读取键盘输入:输入流
step5:写给服务端:输出流
需求4:客户端-服务端:多句聊天
客户端-->服务端说:你在么
服务端-->客户端说:我在的,你谁啊
客户端-->服务端说:我是长颈鹿
服务端-->客户端说:不认识
客户端-->服务端说:over
read()阻塞
需求5:服务端ECHO程序:回音
客户端-->服务器:"你在么"
服务器-->客户端:"ECHO:你在么"
客户端-->服务端:"今天天气不好"
服务端-->客户端:"ECHO:今天天气不好"
客户端:
step1:读取键盘
step2:写给服务端
step5:读取服务端来的回音
服务端:
step3:读取客户端传来的数据
step4:写给客户端:“ECHO:数据”
需求6:服务端同时处理多个客户端的ECHO程序
使用多线程
需求7:客户端-->服务端:一张图片
总结:
Socket编程:
A:主机
IP地址:真实的ip地址
127.0.0.1,localhost...
B:网络应用程序
QQ,微信,MSN。。。。
Demo01.....
port:端口号
int:0-256*256
5566
7788
7799
8888
12345
54321
一个端口号,只能够被一个网络应用程序占用。
C:协议:网络七层协议
TCP:面向连接的
发送数据,靠谱
UDP:面向无连接
无法保证数据的安全性
Java:
TCP:
Socket
ServerSocket
UDP:
DatagramSocket
0 0
- 常见Javase中的的网络编程
- 【JavaSE】网络编程 Jpcap的使用
- JavaSE基础网络编程的小结
- javase--7网络编程
- JAVASE之网络编程
- JAVASE----18----网络编程
- 【JavaSE】网络编程 基础知识
- JavaSE--- 网络编程
- javaSE(22)(网络编程)
- JavaSE-网络编程
- 【javase复习】## 网络编程 ##
- JavaSE 17 网络编程
- JavaSE 网络编程
- javase常见的API
- JavaSE基础复习:网络编程
- JAVASE----19----网络编程2
- 【JavaSE学习笔记】- 网络编程
- JavaSe——网络编程
- Hdu-5438 Boring counting(可持久化线段树)
- 4-9-源码反码补码、进制转化、寄存器变量、动态库dll、位运算加减
- 51Nod-1198-字符串的数量 V3
- unity3d--镜头跟随及控制(RPG游戏黑暗之光)
- iOS新升级,Xcode运行报错Could not find developer disk image(内含最新开发包)
- 常见Javase中的的网络编程
- Ubuntu14.04.5安装solr-5.0.0的两种方式
- 打印二叉树的边界节点 c++实现
- (转)去中心化:关于区块链的争论
- EchartsTest --- Echarts 的 servlet 实现 动态获取数据 练习
- UI
- node Error: Most middleware (like session) is no longer bundled with Express and must be installed
- HTML用正则表达式检验表格
- Angularjs service factory provider