栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java---有趣的网络编程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java---有趣的网络编程

Socket编程

Socket和操作系统有关。使用tcp/ip协议进行编程。UDP协议。TCP为可靠交换协议,UDP为不可靠交换协议,如果有兴趣的同学可以百度一下,这里的重点不是网络。

IP 地址:ipv4 ipv6,ff:ff:ff:ff 202.102.134.68,一个 ip 地址唯一的标识了一个连网终端。

端口:一台主机 host,端口有 65536 个,其中前1024个端口分配给系统使用,比较固定,专用。1024之外的端口可以由应用程序去使用。

一个ip地址加一个端口,就唯一的确定了一个应用通讯终端。

通讯的时候,使用报文进行传输。网络的七层通信模型。协议也是规范,也是标准。

好了,了解了这些网络知识,开始进入正题。

java实现发送端和接收端

接收端

package com.situ.chapter5;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

public class SocketMain {

    public static void main(String[] args) {
	System.out.println("等待发送端连接!");
	try(ServerSocket ss = new ServerSocket(44444);
		Socket socket = ss.accept();
		InputStream is = socket.getInputStream();
		BufferedInputStream bis = new BufferedInputStream(is);) {
	    //放在try()里面用完自动关闭,jdk1.7以上的版本才支持,消减异常地狱
	    byte[] b = new byte[4096];//
	    List all = new ArrayList<>();//储存接收到的字节
	    while(true) {
		int len = bis.read(b);
		if(len<=0) {
		    break;
		}
		for(int i = 0;i 

发送端

package com.situ.chapter5;

import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;

public class SocketClient {

    public static void main(String[] args) { 
	String host = "192.168.110.127";//接收端ip
	OutputStream os =null;
	BufferedOutputStream bos =null;
	Socket socket = null;
	try {
	   socket = new Socket(host,4444);
	   os = socket.getOutputStream();
	   bos = new BufferedOutputStream(os);
	   String hello ="张三";
	   bos.write(hello.getBytes("utf-8"));
	   System.out.println("发送成功!");
	} catch (Exception e) {
	    
	    e.printStackTrace();
	}finally {
	    try {
		socket.close();
		os.close();
		bos.close();
	    } catch (IOException e) {
		
		e.printStackTrace();
	    }
	}
    }

}

这里需要两台电脑的配合,一台执行发送端代码,一台执行接收端代码,这里不便于演示!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397111.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号