java笔记–网络编程

avatar
avatar
云惠网小编
2845
文章
1
评论
2021年4月6日03:18:00 评论 10 次浏览 2478字阅读8分15秒
摘要

网络编程网络通讯查看本机IP地址,在控制台输入:ipconfig检查网络是否连通,在控制台输入:ping 空格 IP地址localhost代表本机地址

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Fuwuqi {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket=new ServerSocket(8888);
Socket s = serverSocket.accept();
InputStream is = s.getInputStream();
File file=new File("D:\\1.jpg");
if(!file.exists()){
file.mkdir();
}
FileOutputStream fos=new FileOutputStream("E:\\"+System.currentTimeMillis());
int len=0;
byte[] bytes=new byte[1024];
while((len=is.read(bytes))!=-1){
fos.write(bytes);
}
OutputStream os = s.getOutputStream();
os.write("上传成功".getBytes());
fos.close();
serverSocket.close();
}
}

BS是浏览器和服务器结构,一般指B/S结构

Socket(String host,int port);//String host:IP地址//int port:服务器的端口号
getOutputStream();//返回此套接字的输出流
getInputStream ();//返回此套接字的输入流
close();//关闭此套接字
shutdownOutput;//禁用此套接字的输出流

客户端

查看本机IP地址,在控制台输入:ipconfig
检查网络是否连通,在控制台输入:ping 空格 IP地址
localhost代表本机地址
客户端
Socket:实现客户端套接字,套接字是两台机器间通信的端点

服务器

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Demo04 {//这是模拟服务器
public static void main(String[] args) throws IOException {
ServerSocket serverSocket=new ServerSocket(8888);
while (true){//读取图片,每读取一次图片,建立一个新线程
Socket socket=serverSocket.accept();
new Thread(new Runnable() {
@Override
public void run() {
try{
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String s = br.readLine();
Systenm.out.println(line);//输出一下请求的路径
String[] arr=s.split(" ");
String htmlpath=arr[1].substring(1);
FileInputStream fis=new FileInputStream(htmlpath);
OutputStream os=socket.getOutputStream();
//使用HTTP协议响应头,固定格式
os.write("HTTP/1.1 200 OK\r\n".getBytes());
os.write("Content-Type:text/html\r\n".getBytes());
//必须写入空行,否则浏览器不解析
os.write("\r\n".getBytes()) ;
int len=0;
byte[] bytes=new byte[1024];
while ((len=fis.read(bytes))!=-1){
System.out.println(new String(bytes,0,len));
}
fis.close();
os.close();
socket.close();
}catch (IOException e){
System.out.println(e);
}
}
}).start();
}
}
}
ServerSocket(int port);
accept();//监听并接受到此套接字的连接
import java.io.*;
import java.net.Socket;
public class Kehuduan {
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("D:\\1.jpg");
Socket socket=new Socket("192.168.10.30",8888);
OutputStream os=socket.getOutputStream();
int len=0;
byte[] bytes=new byte[1024];
while((len=fis.read(bytes))!=-1){
os.write(bytes,0,len);
}
socket.shutdownOutput();
InputStream is = socket.getInputStream();
while((len=is.read(bytes))!=-1){
System.out.println(new String(bytes,0,len));
}
fis.close();
socket.close();
}
}

服务器端
ServerSocket:服务器端

网络编程

本文转自 https://blog.csdn.net/kanbujianwolue/article/details/115373965

腾讯云618
avatar
2w 字长文爆肝 JVM 经典面试题!太顶了! java

2w 字长文爆肝 JVM 经典面试题!太顶了!

如果你是中高级程序员,那我相信你一定被面试官问过JVM。下次再被问到JVM,你直接把老周的这篇文章丢给他吧!话不多说,让我们直接进入主题吧。JVM内存结构,常见异常,调优参数,调优...
JAVA初窥-DAY08 java

JAVA初窥-DAY08

JAVA初窥-DAY08面向过程与面向对象实例化及调用方法和成员变量面向过程与面向对象面向过程:注重的是某件事情过程中的每一个步骤的实现。面向对象:把面向过程中的每一个步骤交给一个...
腾讯云618
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: