Java网络通信示例

##编写javaSocket编程的几种结构

  • 直接使用Socket编程实现
  • 使用Socket,再结合java的多线程编程
  • 使用NIO中的非阻塞(Non Blocking) Socket再结合java的多线程编程
  • 使用Jdk自带的或者第三方的线程池技术对线程进行管理,提高多线程的执行效率
  • 使用开源的java Socket开发框架,例如:mina和cindy框架。

Java网络编程主要使用java.net包

##执行演示网络代码的时候,要先运行服务端,再运行客户端。

###服务端:

public class TCPserver{
	static void print(String str){
		System.out.println(str);
	}
	public static void main(String[]args){
		print("服务器开启成功!");
		java.net.ServerSocket server;
		java.net.Socket client;
		try{
			server=new java.net.ServerSocket(5555);
		//	while(true){
				client=server.accept();
				print("一个客户端连接成功!");
				//接受客户端的信息
				java.io.DataInputStream dis=new java.io.DataInputStream(client.getInputStream());
				String str= dis.readUTF();
				print(str);
				//给客户端发送信息!
				java.io.DataOutputStream dos=new java.io.DataOutputStream(client.getOutputStream());
				dos.writeUTF("你连接成功了!");
				dis.close();
				dos.close();
				client.close();
				print("客户端断开连接!");
		//	}
		}catch(java.io.IOException ex){
			ex.printStackTrace();
		}
	}
}

###客户端


public class  TCPclient{
	static void print(String str){
		System.out.println(str);
	}
	public static void main(String[] args) 
	{
		print("客户端开启成功!");
		try{
			java.net.Socket client=new java.net.Socket("127.0.0.1",5555);
			print("客户端连接成功!");
			String str=javax.swing.JOptionPane.showInputDialog(null,"请输入您要发送的内容!","提示",0);
			//给服务端发送信息
			java.io.DataOutputStream dos=new java.io.DataOutputStream(client.getOutputStream());
			dos.writeUTF(str);
			//接受服务端的信息
			java.io.DataInputStream dis=new java.io.DataInputStream(client.getInputStream());
			print(dis.readUTF());
			dos.close();
			dis.close();
			client.close();
			print("客户端连接断开!");
		}
		catch(java.io.IOException ex){
			ex.printStackTrace();
		}
	}
}

转载于:https://my.oschina.net/csmw00/blog/675341

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值