Socket网络编程 客户端与服务端通信流程
来源:互联网 发布:淘宝评论上穿不了照片 编辑:程序博客网 时间:2024/04/29 12:35
1>客户端向服务端发送基于某种协议的
请求,服务端接收该请求。
2>服务端解析请求内容,并且处理相应
业务。返回给客户端相应的响应信息。
3>客户端接收服务端返回的响应,并且
对响应进行解析,获取响应数据,吧
响应数据呈现到客户端界面中。
如何基于Socket进行客户端服务端编程?
什么是Socket?
套接字。是Java中的一个用于网络通讯
的类型。封装了IP地址及端口号。
和connect的行为方法。我们可以调用
方法与服务端建立连接。
Socket编程基本架构:
客户端服务端的基本通信:
服务端:
ServerSocket ss=new ServerSocket(8888);
//接收客户端的连接请求
Socket socket=ss.accept();
socket.getOutputStream();
socket.getInputStream();
客户端:
String ip="172.60.1111";
int port=8888;
Socket socket=new Socket(ip, port);
socket.getOutputStream();
socket.getInputStream();
------------------------------------------------------------------------------------------------------
/**
* 服务端程序
*/
public class SocketServer {
public static void main(String[] args) {
//创建ServerSocket 接收客户端的连接
try {
ServerSocket ss = new ServerSocket(8888);
System.out.println("服务端已启动.....");
Socket socket=ss.accept();
//打印IP地址
System.out.println(socket.getInetAddress());
//连接建立成功 socket
DataOutputStream dos=new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
dos.writeUTF("请问要点什么?");
dos.flush();
while(true){
//读取客户端的回答
String str=dis.readUTF();
if(str.equals("不吃了!")){
dos.writeUTF("一路好走!");
dos.flush();
break;
}
dos.writeUTF("木有"+str+", 换一个?");
dos.flush();
}
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
-----------------------------------------------------------------------------------------------
/**
* 客户端
*/
public class SocketClient {
public static void main(String[] args) {
//连接服务端
try {
String ip="172.60.11.11";
//当new时 就会创建连接
Socket socket = new Socket(ip, 8888);
System.out.println("连接创建成功");
//接收服务端写给客户端的数据:
DataInputStream dis = new DataInputStream(socket.getInputStream());
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
Scanner console = new Scanner(System.in);
while(true){
String str=dis.readUTF();
System.out.println("Server:"+str);
if(str.equals("一路好走!")){
break;
}
//使用scanner 获取用户数据 并且写给服务端
String line=console.nextLine();
dos.writeUTF(line);
dos.flush();
}
dis.close();
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
------------------------------------------------------------------------------------------------
0 0
- Socket网络编程 客户端与服务端通信流程
- socket网络编程实现客户端和服务端通信
- socket通信 客户端与服务端
- ios socket编程初步:iphone客户端与java服务端通信
- Socket编程基础之服务端与客户端简单通信
- socket编程 单向服务端与客户端通信,仅供参考
- C-socket编程-客户端服务端通信模型
- php服务端与android客户端socket通信
- php服务端与android客户端socket通信
- php服务端与android客户端socket通信
- 客户端与服务端Socket通信原理详解
- php服务端与android客户端socket通信
- 客户端与服务端的Socket通信
- Socket客户端与服务端通信私聊
- socket客户端与服务端的通信
- Socket实现服务端与客户端通信
- 网络编程--udp--客户端--服务端--Socket
- IOS-18-网络通信之Socket通信中服务端与客户端的实现
- 点击下载按钮 创建AlertDialog,new OnClickListener ,startService
- 并查集
- 异步在工作线程中执行图片模糊化处理 工具
- Android中IntentService详解
- 点击下载按钮 下载音乐的Service extends IntentService{
- Socket网络编程 客户端与服务端通信流程
- 推薦システムのアルゴリズム
- 在登录界面,点击注册,注册成功后,把结果(用户名,密码)回传给登录界面,用来设置控件
- 把uri中的中文 按照url的编码方式 进行编码
- 点击返回键之后的处理onKeyDown
- Android中的AppWidget
- 帧动画,Android中的动画 --Frame Animation
- Android中电话相关操作
- Java反射机制总结