简单的网络编程
2021/6/14 20:23:00
本文主要是介绍简单的网络编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
TCP
package IntenetAddress; import org.junit.Test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; public class TCPtest { @Test public void client() { Socket socket = null; OutputStream ops = null; try { //创建一个Socker对象 指明 服务器端 的IP和端口号 InetAddress address = InetAddress.getByName("172.21.199.40"); socket = new Socket(address,8899); ops = socket.getOutputStream(); ops.write("你好".getBytes()); } catch (IOException e) { e.printStackTrace(); } finally { try { if (ops!=null) ops.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void server() { ServerSocket ss = null; Socket accept = null; InputStream ips = null; ByteArrayOutputStream baos = null; try { //创建服务器端的socker 指明自己的端口号 ss = new ServerSocket(8899); accept = ss.accept(); ips = accept.getInputStream(); baos = new ByteArrayOutputStream(); int len; byte[] buf = new byte[1024]; while ((len=ips.read(buf))!=-1){ baos.write(buf,0,len); } System.out.println(baos.toString()); } catch (IOException e) { e.printStackTrace(); } finally { try { if (baos!=null) baos.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ips!=null) ips.close(); } catch (IOException e) { e.printStackTrace(); } try { if (accept!=null) accept.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ss!=null) ss.close(); } catch (IOException e) { e.printStackTrace(); } } } }
package IntenetAddress; import org.junit.Test; import java.io.*; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; /** * 客户端发送文件给服务端 服务端将文件保存在本地 */ public class TCPTest02 { @Test public void client(){ Socket socket = null; FileInputStream fis = null; OutputStream fw = null; try { socket = new Socket(InetAddress.getByName("127.0.0.1"),8899); fis = new FileInputStream(new File("src\\2.jpg")); fw = socket.getOutputStream(); int len; byte[] buf = new byte[1024]; while ((len = fis.read(buf))!=-1){ fw.write(buf,0,len); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } try { if (fis!=null) fis.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void server(){ ServerSocket ss = null; OutputStream fw = null; Socket socket = null; InputStream ips = null; try { ss = new ServerSocket(8899); fw = new FileOutputStream(new File("src\\2tcp.jpg")); socket = ss.accept(); ips = socket.getInputStream(); int len; byte[] buf = new byte[1024]; while ((len = ips.read(buf))!=-1){ fw.write(buf,0,len); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ips!=null) ips.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ss!=null) ss.close(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void client2(){ Socket socket = null; FileInputStream fis = null; OutputStream fw = null; try { socket = new Socket(InetAddress.getByName("127.0.0.1"),8899); fis = new FileInputStream(new File("src\\hello.txt")); fw = socket.getOutputStream(); int len; byte[] buf = new byte[1024]; while ((len = fis.read(buf))!=-1){ fw.write(buf,0,len); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } try { if (fis!=null) fis.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void server2(){ ServerSocket ss = null; FileWriter fw = null; Socket socket = null; InputStream ips = null; ByteArrayOutputStream baos =null; try { ss = new ServerSocket(8899); fw = new FileWriter(new File("src\\hello_tcp.txt")); baos = new ByteArrayOutputStream(); socket = ss.accept(); ips = socket.getInputStream(); int len; byte[] buf = new byte[1024]; while ((len = ips.read(buf))!=-1){ baos.write(buf,0,len); fw.write(baos.toString()); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ips!=null) ips.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ss!=null) ss.close(); } catch (IOException e) { e.printStackTrace(); } try { if (baos!=null) baos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
package IntenetAddress; import org.junit.Test; import java.io.*; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; public class TCPTest03 { @Test public void client(){ Socket socket = null; FileInputStream fis = null; OutputStream fw = null; try { socket = new Socket(InetAddress.getByName("127.0.0.1"),8899); fis = new FileInputStream(new File("src\\2.jpg")); fw = socket.getOutputStream(); int len; byte[] buf = new byte[1024]; while ((len = fis.read(buf))!=-1){ fw.write(buf,0,len); } /** *告诉output数据传完了,结束了 */ socket.shutdownOutput(); //接受服务端消息 InputStream ips = socket.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int len2; byte[] buf2 = new byte[20]; while ((len2 = ips.read(buf2))!=-1){ baos.write(buf2,0,len2); } ips.close(); baos.close(); System.out.println(baos.toString()); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } try { if (fis!=null) fis.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } } } @Test public void server(){ ServerSocket ss = null; OutputStream fw = null; Socket socket = null; InputStream ips = null; try { ss = new ServerSocket(8899); fw = new FileOutputStream(new File("src\\2tcp.jpg")); socket = ss.accept(); ips = socket.getInputStream(); int len; byte[] buf = new byte[1024]; while ((len = ips.read(buf))!=-1){ fw.write(buf,0,len); } //接受完数据 服务端给客户端反馈 OutputStream ops = socket.getOutputStream(); ops.write("接收成功".getBytes()); ops.close(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fw!=null) fw.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ips!=null) ips.close(); } catch (IOException e) { e.printStackTrace(); } try { if (socket!=null) socket.close(); } catch (IOException e) { e.printStackTrace(); } try { if (ss!=null) ss.close(); } catch (IOException e) { e.printStackTrace(); } } } }
UDP
package IntenetAddress; import org.junit.Test; import java.io.IOException; import java.net.*; /** * UDP的协议网络编程 */ public class UDPTest { //发送端 @Test public void sender() throws IOException { DatagramSocket socket = new DatagramSocket(); String str ="我是李建昊"; byte[] data = str.getBytes(); //对方主机名 InetAddress address = InetAddress.getLocalHost(); System.out.println(address); DatagramPacket packet = new DatagramPacket(data, 0, data.length, address,8899); socket.send(packet); socket.close(); } //接收端 @Test public void receiver() throws IOException { DatagramSocket socket = new DatagramSocket(8899); byte[] buf = new byte[100]; DatagramPacket packet = new DatagramPacket(buf,0,buf.length ); socket.receive(packet); System.out.println(new String(packet.getData(),0,packet.getLength())); socket.close(); } }
URL
package IntenetAddress; import org.junit.Test; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; /** * http://localhost:8080/examples/beauty.jpg?username=Tom * 协议 主机名 端口号 资源地址 参数列表 */ public class URLTest { public static void main(String[] args) throws IOException { URL url = new URL("http://localhost:8080/examples/beauty.jpg?username=Tom"); System.out.println(url.getProtocol());//获取该URL的协议名 System.out.println(url.getHost());//获取url的主机名 System.out.println(url.getPort());//获取该url端口号 System.out.println(url.getPath());//获取该url的文件路径 System.out.println(url.getFile());//获取该url的文件名 System.out.println(url.getQuery());//获取该url的查询名 /** * http * localhost * 8080 * /examples/beauty.jpg * /examples/beauty.jpg?username=Tom * username=Tom */ URLConnection urlConnection = url.openConnection(); urlConnection.connect(); InputStream is = urlConnection.getInputStream(); FileOutputStream ops = new FileOutputStream(""); BufferedOutputStream bos = new BufferedOutputStream(ops); BufferedInputStream bis = new BufferedInputStream(is); int len; byte[] buf = new byte[20]; while ((len = bis.read(buf))!=-1){ bos.write(buf,0,len); } System.out.println("下载完成"); bos.close(); bis.close(); //try-catch-finally } }
这篇关于简单的网络编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求