Java socket通讯(一)

写博客只是为了方便记忆,希望自己能够坚持下去。


在java jdk中, 

TCP/IP协议  一般使用 ServerSocket,Socket 来建立网络通讯。

UDP协议  一般使用DatagramSocket,Datagrampacket,MulticastSocket来建立网络通讯。 


TCP/IP 通讯协议的优点:通信可靠。保证了数据在传送过程中准确无误,即使在Intent暂时出现堵塞的情况下,TCP也能够保证通讯的可靠。



废话不多说,直接上例子。

Socket服务端:

public static void main(String[] args) {
		try {
			ServerSocket service = new ServerSocket(8888);// 创建端口8888的监听对象,监听客户请求(端口范围是0~65535)
			while (true) {
				Socket socket = service.accept();// 阻塞等待客户请求
				OutputStream os=socket.getOutputStream(); //实例化一个输出流
				os.write("服务端连接成功\n".getBytes("utf-8")); //向客户端输出内容
				os.close();  //关闭输出流
				socket.close(); 

			}


		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


	}



Socket客户端:


public static void main(String[] args) {

		try {
			Socket sk = new Socket("192.168.1.188", 4800);
			sk.setSoTimeout(10000);// 设置请求响应时间

			// 另一种请求socket服务端写法
			// Socket sk = new Socket();
			// sk.connect(new InetSocketAddress("192.168.1.188", 4800), 10000);
			
			

			BufferedReader br = new BufferedReader(new InputStreamReader(
					sk.getInputStream(), "utf-8")); //获取到服务端的输入流
			String line = br.readLine();
			System.out.println("来自服务端的消息:" + line);
			br.close();
			sk.close();

		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}


最后输出结果:







你可能感兴趣的:(java,socket,通讯)