网络编程之单向通信
单向通信主要的就是客户端对数据进行封装发送,服务器接收数据进行拆封,整个传输过程中需要获取到传输层的协议,这个时候是通过套接字Socket 获取的,看下图:

代码如下:
客户端:
```java
public static void main(String[] args) throws Exception{
//创建套接字,指定服务器 的Ip地址和端口
Socket s = new Socket("192.168.0.103", 8888);
//利用Output就可以向外发送数据了,
OutputStream os = s.getOutputStream();
//但是不能直接发送String类型的数据,所以我们又在外面套了一个处理流:DataOutputStream。
DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF("你好");
dos.close();
os.close();
s.close();
}
服务器端:
public static void main(String[] args) throws Exception{
//创建套接字指定服务器端口
ServerSocket ss= new ServerSocket(8888);
Socket s = ss.accept();
//等待接受客户端消息,什么时候接受到消息,什么时候再往下执行,accept返回的是一个socket,
// 这个socket其实就是客户端的套接字,接受到这个socket之后,客户端与服务器的链接才算成功,才能真正的进行通信。
InputStream is = s.getInputStream();//操作流,读取客户端发来的数据
DataInputStream dis = new DataInputStream(is);
//因为客户端发来的是一个字符串类型的数据,所以用str接收。
String str = dis.readUTF();
System.out.println("从客户端接受到的数据为:"+str);
//关闭流
dis.close();
is.close();
s.close();
ss.close();
}
2405

被折叠的 条评论
为什么被折叠?



