【Java网络编程】入门Hello World
网络编程中有两个主要的问题
一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。


服务端:
package Server;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) {
try {
//服务端的套接字 需要一个端口号
ServerSocket ss=new ServerSocket(2020);
Socket s=ss.accept();//从服务端套接字或得到的,要等待客户端连接,阻塞式
Reader in =new InputStreamReader(s.getInputStream());//有流获取信息
int c;
//一直读 直到有值
while ((c=in.read())!=-1) {
System.out.write(c);
}
s.close();//要注意关闭
ss.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
客户端:
package Server;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class MyClient {
public static void main(String[] args) {
try {
//本机 或则填ip,打开防火墙
Socket s =new Socket("localhost",2020);
Writer out=new OutputStreamWriter(s.getOutputStream());
Scanner input = new Scanner(System.in);
String a=input.nextLine()+"\n";
out.write("Hello,Java netWork programming!\n");
out.write(a);
out.close();
input.close();
s.close();
}
catch(UnknownHostException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
运行时,先启动服务器端,在运行客户端,观察console



在客户端输入Hello world
两边都停止了运行,输出结果相同


浙公网安备 33010602011771号