网络基础

 TCP

 

import java.net.*;
import java.io.*;

public class TCPServer2{
	public static void main(String[]args)throws Exception{
		
		ServerSocket s=new ServerSocket(6666);
		
		while(true){
			Socket ss=s.accept();
			DataInputStream dis=new DataInputStream(ss.getInputStream());
			System.out.println(dis.readUTF());         //阻塞式
			dis.close();
			ss.close();
			
		  System.out.println("A client connected!");
			
			}
		
		
		}
	}


 

import java.net.*;
import java.io.*;

public class TCPClient2{
	public static void main(String[] args)throws Exception{
		Socket s=new Socket("127.0.0.1",6666);
		OutputStream os=s.getOutputStream();
		DataOutputStream dos=new DataOutputStream(os);
		
		Thread.sleep(3000);
		dos.writeUTF("Hello Server");
		dos.flush();
		dos.close();
		s.close();
		
		}
	}


 

 

UDP

利用UDP传递字符串:

 

import java.net.*;

public class TestUDPServer{
	public static void main(String []args) throws Exception{
		byte buf[]=new byte[1024];
		DatagramPacket dp=new DatagramPacket(buf,buf.length);
		
		DatagramSocket ds=new DatagramSocket(1234);
		while(true){
			
			ds.receive(dp);
			System.out.println(new String(buf,0,dp.getLength()));            //dp.getLength()  !!!
			
			}
		
		
		}
	}


 

import java.net.*;

public class TestUDPClient{
	public static void main(String[]args) throws Exception{
		
		
		byte buf[]=(new String("hello")).getBytes();
		DatagramPacket dp=new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",1234)); //目的主机IP和端口
		DatagramSocket ds=new DatagramSocket(9999);   //本机端口
		
		ds.send(dp);
		ds.close();
		
		
		}
	}


 

利用UDP传递long型数值:

import java.net.*;
import java.io.*;

public class TestUDPServer2{
	public static void main(String[] args) throws Exception{
		
	
	  byte buf[]=new byte[1024];
	  
	  
		
		DatagramPacket dp=new DatagramPacket(buf,0,buf.length);
		DatagramSocket ds=new DatagramSocket(1234);
		while(true){
			
			ds.receive(dp);
			ByteArrayInputStream bais=new ByteArrayInputStream(buf);
			DataInputStream dis=new DataInputStream(bais);
			System.out.println(dis.readLong());
			
			}
		
		}
	}


 

import java.net.*;
import java.io.*;

public class TestUDPClient2{
	public static void main(String[] args)throws Exception{
		
		long n=1000;
		
		ByteArrayOutputStream baos=new ByteArrayOutputStream();
		DataOutputStream dos=new DataOutputStream(baos);
		
		dos.writeLong(n);
		byte buf[]=baos.toByteArray();
		
		DatagramPacket dp=new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",1234));
		DatagramSocket ds=new DatagramSocket(8888);
		
		ds.send(dp);
		ds.close();
		
		}
	}


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值