本篇文章主要介绍了"黑马程序员-网络编程学习笔记",主要涉及到循环,Exception,对象,索引,静态方法方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
------- android培训、java培训、期待与您交流! -----------------------------------------------...
public class Send {
public static void main(String[] args) throws IOException {
// 1.准备Socket
DatagramSocket socket = new DatagramSocket();
// 2.准备数据
InetAddress add = InetAddress.getByName("Yang-PC");
int port = 8888;
byte[] byteArray = "你好,这里是使用UDP发送的数据!".getBytes();
// 3.准备数据包:
DatagramPacket pck = new DatagramPacket(byteArray, byteArray.length,
add, port);
// 4.发送数据
socket.send(pck);
// 5.释放资源
socket.close();
System.out.println("信息已发出!");
}
}
public class Receive {
public static void main(String[] args) throws IOException {
DatagramSocket socket = new DatagramSocket(8888);
byte[] byteArray = new byte[1024];
DatagramPacket pck = new DatagramPacket(byteArray, byteArray.length);
// 等待数据到达
System.out.println("正在等待信息到达......");
socket.receive(pck);// 程序在此处会阻塞
System.out.println("有信息达到!");
// 获取数据
byte[] byteInfo = pck.getData();
String str = new String(byteInfo, 0, pck.getLength());
String ip = pck.getAddress().getHostAddress();
System.out.println("接收到信息:IP:" + ip + " 内容:" + str);
socket.close();
}
}
TCP协议_发送数据:
1.实例化一个Socket对象(指定目标计算机的IP和端口号);
2.从Socket对象中,获取一个"输出流(字节流)";
3.使用字节流,输出一个byte[]数组;
4.关闭流;
public class Send {
public static void main(String[] args) throws IOException {
//1.实例化一个Socket
Socket socket = new Socket("192.168.30.241",8888);
//2.获取输出流
OutputStream out = socket.getOutputStream();
//3.输出一个byte[]数组
out.write("你好,这是使用TCP协议发送的数据......".getBytes());
//4.关闭流
out.close();
socket.close();
System.out.println("发送端发送完毕!");
}
}
public class Receive {
public static void main(String[] args) throws IOException {
//1.实例化一个ServerSocket
ServerSocket server = new ServerSocket(8888);
//2.等待连接
System.out.println("等待连接......");
Socket socket = server.accept();
System.out.println("有客户端连接成功!");
//3.获取输入流
InputStream in = socket.getInputStream();
byte[] byteArray = new byte[1024];
int len = in.read(byteArray);
String str = new String(byteArray,0,len);
System.out.println("接收到信息:" + str);
//4.释放资源
in.close();
server.close();
}
}
TCP练习_客户端键盘录入服务器写到文本文件:
客户端代码:
1.实例化一个Socket;
2.获取一个输出流;
3.实例化一个Scanner接收控制台数据;
4.循环,接收控制台数据,每接收一条,就发送一条直到接收到886为止;
5.释放资源
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("192.168.30.241", 9999);
OutputStream out = socket.getOutputStream();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入信息:");
String str = sc.next();
out.write(str.getBytes());
if (str.equals("886")) {
break;
}
}
System.out.println("客户端结束!");
out.close();
socket.close();
}
}
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(9999);
Socket socket = server.accept();
// 网络输入流
InputStream netIn = socket.getInputStream();
// 文件输出流
FileOutputStream fileOut = new FileOutputStream("demo08.txt");
// 读取网络数据
byte[] byteArray = new byte[1024];
int len = 0;
while (true) {
len = netIn.read(byteArray);
if (len == -1) {
break;
}
fileOut.write(byteArray, 0, len);
fileOut.write("\r\n".getBytes());
String str = new String(byteArray, 0, len);
if (str.equals("886")) {
break;
}
}
System.out.println("服务器端结束!");
fileOut.close();
netIn.close();
socket.close();
server.close();
}
}
TCP练习_TCP协议上传文本文件:
客户端:
*
* 1.实例化一个Socket;
* 2.获取网络输出流;
* 3.实例化一个文件输入流(字节流);
* 4.循环读取文件内容,一次读取一个字节数组;
* 一次发送一个字节数组;
* 5.释放资源;
*/
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("192.168.30.241", 8888);
OutputStream netOut = socket.getOutputStream();
FileInputStream fileIn = new FileInputStream("demo10.txt");
byte[] byteArray = new byte[1024];
int len = 0;
while ((len = fileIn.read(byteArray)) != -1) {
netOut.write(byteArray, 0, len);
}
fileIn.close();
netOut.close();
socket.close();
System.out.println("客户端上传完毕!");
}
}
服务器端代码:
*
* 1.实例化一个ServerSocket;
* 2.获取一个网络输入流;
* 3.实例化一个文件输出流;
* 4.循环读取,一次读取一个字节数组;
* 一次写入一个字节数组;
* 5.释放资源;
*/
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8888);
Socket socket = server.accept();
// 网络输入流
InputStream netIn = socket.getInputStream();
// 文件输出流
FileOutputStream fileOut = new FileOutputStream("demo10_upload.txt");
// 一次读取一个字节数组
byte[] byteArray = new byte[1024];
int len = 0;
while ((len = netIn.read(byteArray)) != -1) {
fileOut.write(byteArray, 0, len);
}
// 释放资源
fileOut.close();
netIn.close();
socket.close();
server.close();
System.out.println("服务器端完毕!");
}
}
TCP练习_关于多个客户端上传到一个服务器:
public class Client {
public static void main(String[] args) {
//模拟10个客户端同时连接服务器
for(int i = 1 ; i <= 10 ;i ++){
new ClientThread(i).start();
}
}
}
public class ClientThread extends Thread {
private int index;
public ClientThread(int index) {
this.index = index;
}
@Override
public void run() {
// 连接服务器
try {
Socket socket = new Socket("192.168.30.241", 8888);
// 网络输出流
OutputStream netOut = socket.getOutputStream();
// 文件输入流
FileInputStream fileIn = new FileInputStream("C:\\ccc\\" + index
+ ".png");
// 一次读取一个字节数组
byte[] byteArray = new byte[1024];
int len = 0;
while ((len = fileIn.read(byteArray)) != -1) {
netOut.write(byteArray, 0, len);
}
// 释放资源
fileIn.close();
netOut.close();
socket.close();
System.out.println("文件:" + index + ".png 上传完毕!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class ServerThread extends Thread {
public int index;
private Socket socket;
// 此索引,跟客户端的索引不是一一对应的;
public ServerThread(int index, Socket socket) {
this.index = index;
this.socket = socket;
}
@Override
public void run() {
// 获取网络输入流
try {
InputStream netIn = socket.getInputStream();
FileOutputStream fileOut = new FileOutputStream(index + ".png");
byte[] byteArray = new byte[1024];
int len = 0;
while ((len = netIn.read(byteArray)) != -1) {
fileOut.write(byteArray, 0, len);
}
fileOut.close();
netIn.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 文件的输出流
}
}
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8888);
int index = 1;
while (true) {
Socket socket = server.accept();
// 启动线程;
new ServerThread(index++, socket).start();
}
}
}
以上就介绍了黑马程序员-网络编程学习笔记,包括了循环,Exception,对象,索引,静态方法方面的内容,希望对Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_184909_3.html