网络编程入门socket
先运行服务端,再运行客户端
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.UnknownHostException;
import java.net.Socket;
import java.io.*;
public class SocketClient {
// 服务端
public static void main(String[] args) {
try {
//创建服务端,指定接收端口
ServerSocket server = new ServerSocket(3333);
// 等待连接
Socket client = server.accept();
// 接收数据
InputStream IS = client.getInputStream();
// 创建管道流,管道流来接收输出流
ByteArrayOutputStream bos=new ByteArrayOutputStream();
// 写入整形
byte[]buffer = new byte[1024];
int len;
while ((len=IS.read(buffer))!=-1)
{
bos.write(buffer,0,len);
}
// 打印接收到的信息
System.out.println(bos.toString());
// 所用过的资源全部关闭
bos.close();
IS.close();
client.close();
server.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
}
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.net.Socket;
import java.io.*;
import java.nio.charset.StandardCharsets;
public class SocketServer {
// 客户端
public static void main(String[] args)
{
try {
// 初始化信息,指定目标ip和端口
InetAddress serverIP = InetAddress.getByName("127.0.0.1");
int port=3333;
// 创建socket
Socket cSocket =new Socket(serverIP,port);
// 创建一个输出流
OutputStream os= cSocket.getOutputStream();
os.write("这里是客户端要对服务端发送的数据hello world".getBytes());
os.close();
cSocket.close();
}catch (Exception e)
{
e.printStackTrace();
}
}
}