Java Socket实现客户端服务端之间的通信

Java Socket

  • Java Socket编程用于在不同JRE上运行的应用程序之间的通信。
  • Java Socket编程可以是面向连接的或无连接的。
  • Socket和ServerSocket类用于面向连接的套接字编程,DatagramSocketDatagramPacket类用于无连接套接字编程。

此Demo将进行单向客户端和服务器通信。客户端将消息发送到服务器,服务器读取消息并打印。在这里,使用了两个类:Socket和ServerSocket。Socket类用于通信客户端和服务器。通过此类,我们可以读写消息。ServerSocket类在服务器端使用。ServerSocket类的accept()方法将阻止控制台,直到客户端连接为止。客户端成功连接后,它将在服务器端返回Socket的实例。

在这里插入图片描述
Socket class
套接字只是机器之间通信的端点。Socket类可用于创建套接字。

重要方法

方法描述
1)public InputStream getInputStream()返回与此socket连接的InputStream。
2)public OutputStream getOutputStream()返回与此socket连接的OutputStream。
3)public synchronized void close()关闭这个socket

ServerSocket class
ServerSocket类可用于创建服务器套接字。该对象用于与客户端建立通信。

重要方法

方法描述
1) public Socket accept()返回socket,并在服务器和客户端之间建立连接。
2) public synchronized void close()关闭服务器socket

具体实现

MyServer.java

import java.io.*;  
import java.net.*;  
public class MyServer {  
public static void main(String[] args){  
try{  
ServerSocket ss=new ServerSocket(6666);  
Socket s=ss.accept();//建立连接 
DataInputStream dis=new DataInputStream(s.getInputStream());  
String  str=(String)dis.readUTF();  
System.out.println("message= "+str);  
ss.close();  
}catch(Exception e){System.out.println(e);}  
}  
}  

MyClient.java

import java.io.*;  
import java.net.*;  
public class MyClient {  
public static void main(String[] args) {  
try{      
Socket s=new Socket("localhost",6666);  
DataOutputStream dout=new DataOutputStream(s.getOutputStream());  
dout.writeUTF("Hello Server");  
dout.flush();  
dout.close();  
s.close();  
}catch(Exception e){System.out.println(e);}  
}  
}  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值