目录
网络编程
计算机网络
网络编程
网络通信要素
IP
端口号
通信协议
网络编程
计算机网络
把世界各地的独立的计算机过通信设备和线路联系到一起.由功能完善的软件实现资源共享和信息传递的系统
网络编程使用计算机语言开发软件,让软件通过网络进行数据交换
网络通信要素
IP
指互联网协议地址,又译为网际协议地址.网络中的计算机使用IP地址来进行唯一标识
端口号
计算机中的应用程序的一个整数数字标号,用来区分不同的应用程序。
0 ~ 1024 未被系统使用或保留的端口号,0 ~ 65535为有效的端口号
定义端口号的时候,要选择1024 ~ 65535范围内的整数数字
通信协议
计算机网络中实现通信的约定,即通信协议,对速率、传输代 码、代码结构、 传输控制步骤、出错控制等制定标准。
TCP协议
TCP协议:安全可靠,在每一次连接时会先与服务器进行三次握手,确保网络通畅开始数据传输,在每一次断开时会与服务器进行四次挥手,确保服务器和客户端都知晓.由于需要三次握手和四次挥手,所以效率低
服务器:
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server {
public static void main(String[] args) {
try {
Scanner sc=new Scanner(System.in);
ServerSocket serverSocket=new ServerSocket(3333);//创建服务器
System.out.println("等待客户端连接");
Socket ss=serverSocket.accept();//监听是阻塞式,直到有客户端连接上,才继续向下执行
System.out.println("连接成功");
byte[]bytes=new byte[10];
int size=0;
InputStream in=ss.getInputStream();//接受客户端发送的消息
size=in.read(bytes);
String s=new String(bytes,0,size);
System.out.println(s);
serverSocket.close();;
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端:
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
Socket socket=new Socket("127.0.0.1",3333);
OutputStream out=socket.getOutputStream();
out.write("你好==".getBytes());
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
UDP协议
不需要建立网络连接,将数据,源,目标封装在数据包中,进行发送,发送是否成功不知道
发送端:
import java.io.IOException;
import java.net.*;
public class Send {
public static void main(String[] args) throws IOException {
DatagramSocket datagramSocket=new DatagramSocket();
byte []bytes="你好,接收端".getBytes();
DatagramPacket datagramPacket=new DatagramPacket(bytes,0,bytes.length, InetAddress.getByName("127.0.0.1"),3333);
datagramSocket.send(datagramPacket);
}
}
接收端:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class Receive {
public static void main(String[] args) throws IOException {
DatagramSocket datagramSocket=new DatagramSocket(3333);
byte []bytes=new byte[100];
DatagramPacket datagramPacket=new DatagramPacket(bytes,bytes.length);
datagramSocket.receive(datagramPacket);
String s=new String(datagramPacket.getData(),0,datagramPacket.getLength());
System.out.println(s);
}
}
暑期编程PK赛
得CSDN机械键盘等精美礼品!


