------- android培训、java培训、期待与您交流! ----------
一个Socket相当于一个电话机。
OutputStream相当于话筒
InputStream相当于听筒
2、 服务器端要创建的对象:java。Net。ServerSocket
3、 创建一个TCP服务器端程序的步骤:
1). 创建一个ServerSocket
2). 从ServerSocket接受客户连接请求
3). 创建一个服务线程处理新的连接
4). 在服务线程中,从socket中获得I/O流
5). 对I/O流进行读写操作,完成与客户的交互
6). 关闭I/O流
7). 关闭Socket
package net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UdpDemo {
/**
* @param args
*/
public static void main(String[] args) throws Exception
{
// TODO Auto-generated method stub
DatagramSocket ds=new DatagramSocket(4444);
//建立udpsocket服务
byte[] buf="udp get men lai le".getBytes();
//提供数据,封包
DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.0.103"),10000);
//通过socket服务的发送功能,将包发送出去
ds.send(dp);
//关闭资源
ds.close();
}
}
package net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UdpRece {
/**
* @param args
*/
public static void main(String[] args)throws Exception
{
// TODO Auto-generated method stub
//1.定义udpsocket服务,监听一个端口
DatagramSocket ds=new DatagramSocket(10000);
while(true)
//2.定义一个数据包,存储接收到的数据,数据包对象中
//有更多的方法 可以提取字节数据中的不同数据信息。
{
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
//3.通过socket服务的receive方法将收到的数据存入包中
ds.receive(dp);//阻塞式方法
//4.通过数据包 取出数据
String ip=dp.getAddress().getHostAddress();
String data=new String(dp.getData(),0,dp.getLength());
int port =dp.getPort();
System.out.println(ip+"....."+data+"++++"+port);
}
//5.关闭资源
//ds.close();
}
}