java socket网络编程
之前写的是一个工程,server端已经有人写好了
网络编程 至少涉及两个端(两个应用程序),通过网络访问连接
这两个应用程序一般在两台电脑上(分别占用不同的IP地址和不同的端口号,通过网络相连)
IP地址决定哪台电脑
端口号决定哪个应用程序
由客户端发出请求,服务器端接收请求并响应
请求数据的为客户端
启动的时候服务器端先启动,等待客户端的访问
客户端的输出流:服务器端的输入流(将客户流的数据带给服务器端)
服务器端的输出流转化为客户端的输入流
- 客户端
Socket(innetAddress,address,int port) 客户端
Socket(innetAddress,address,int port) 客户端
client.getinputStream();
client.getOutputStream();
flush() 是把缓冲区的数据强行输出
2. 服务器端
需要先启动,要占用端口号
ServerSocket(int port)
accept()等待有人连接,过程中不会向下进行程序,有用户连接的时候会返回一个socket对象(客户端请求的对象,不同的是输入输出流的改变)
close() 关闭服务器端Socket监听
Socket client = new Socket(“localhost”,80);// 如果连不上,这行代码会报错
向客户端发送数据:os = client.getOutputStream()
接收数据: is = client.getIntputStream()
关闭Socket连接
client.close()
推荐用字符流
使用字节流输出的时候要转发为string
服务器端:主要工作:
- 监听端口号
- 接客户连接accept
- 响应输入输出
- 关闭网络连接
java socket网络编程相关推荐
- 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)
目录[-] 一.TCP/IP协议 二.TCP与UDP 三.Socket是什么 四.Java中的Socket 五.基本的Client/Server程序 六.多客户端连接服务器 七.信息共享 八.文件传输 ...
- Java Socket网络编程
一.Socket概述 Java网络编程主要涉及的内容是Socket编程. Socket(套接字),是网络上两个程序之间实现数据交换的一端,它既可以发送请求,也可以接受请求,一个Socket由一 ...
- Java Socket网络编程常见异常(转)
1.java.net.SocketTimeoutException 这个异常比较常见,socket超时.一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(Socket ...
- Java Socket网络编程--模仿写一个本机QQ聊天程序
public class Client3 extends JFrame {static JTextArea area;JTextField field;JButton button;static Pr ...
- Linux C++/Java/Web/OC Socket网络编程
一,Linux C++ Socket网络编程 1.什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制 ...
- linux java socket编程_深入学习socket网络编程,以java语言为例
了解java的socket编程与Linux Socket API之间的关系 一.java的网络编程 1.socket原理 socket通信就是通过IP和端口号将两台主机建立连接,提供通信.主机A的应用 ...
- 什么是java socket_java 网络编程,Socket编程
Java的网络编程主要涉及到的内容是Socket编程,那么什么是Socket呢?简单地说,Socket,套接字,就是两台主机之间逻辑连接的端点.TPC/IP协议是传输层协议,主要解决数据如何在网络中传 ...
- Java之socket网络编程
socket网络编程 文章目录 socket网络编程 一.网络编程概述 二.网络通信要素概述 三.IP和端口号 四.网络协议 五.TCP网络编程 六.UDP网络编程 一.网络编程概述 网络编程的目的 ...
- Netty:Java 领域网络编程的王者
一.简介 1. 课程背景 分布式系统的根基在于网络编程,而 Netty 是 Java 领域网络编程的王者. 2. 课程内容 第一部分 NIO 编程,三大组件 第二部分 Netty 入门学习,Event ...
- 你对Java网络编程了解的如何?Java BIO 网络编程 | Netty 前期知识
一步一步走来,之前去学习了JUC并发编程知识,现在终于到Java IO网络编程啦,难啊. 一.BIO介绍 引入: 随着技术的发展,两个或以上的程序必然需要进行交互,于是提供了一种端到端的通信,相当于对 ...
最新文章
- python turtle画气球-micro:bit + LoRa 实现气球追踪
- Linux中chown和chmod的区别和用法(转)
- node mysql limit_node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连接数的关系是什么?...
- MicroPython开发板:TPYBoard v102 播放音乐实例
- 约瑟夫问题的学习(基于循环链表)以及基于循环数组
- C#中的类型转换大总结
- oracle数据库问答汇总
- 64位Win8企业版出现“Unknown Hard Error”系统警告的一个解决方法
- Linux安装jdk详细步骤
- 《我是一只IT小小鸟》读书笔记
- 在CentOS中安装MySql数据库教程
- 史上最简单的 GitHub 教程
- 中国十大B2C电商网站开发语言调查
- vue中使用友盟统计,统计到每个路由
- ARM嵌入式系统的学习步骤
- VB 获取文件名后缀
- 电商API数据采集,教你如何获取商品详情数据
- CSS实现鼠标悬浮时下拉菜单栏功能
- 苹果Arcade订阅常见问题
- android 圆圈扩大动画,Android实现3个圆圈的动画
热门文章
- (转)SegWit 与 Lightning Network
- 【路径规划】基于matlab A_star算法机器人走迷宫路径规划【含Matlab源码 1389期】
- 【费用预测】基于matlab粒子群算法优化ELM神经网络预测费用【含Matlab源码 1378期】
- 【图像融合】基于matlab curvelet变换图像融合【含Matlab源码 776期】
- 【图像增强】基于matlab GUI暗通道+Retinex图像去雾(带面板)【含Matlab源码 732期】
- 【电路仿真】基于simulink模拟锁相环设计【含Matlab源码 339期】
- 【图像变换】基于matalb DIBR-3D图像变换【含Matalb源码 082期】
- SPSS 虚拟变量(图文+数据集)【SPSS 038期】
- archlinux安装mysql_在Arch Linux中安装MySQL
- 贝叶斯公式的图形记忆