TCP:
import java.net.ServerSocket;
import java.net.Socket;
import java.io.DataOutputStream;
public class J_Server {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket server=new ServerSocket(5000);
while(true)
{
Socket s=server.accept();
System.out.println("服务器端接收连接");
DataOutputStream dataOut=new DataOutputStream(s.getOutputStream());
dataOut.writeUTF("来自服务器端的问候");
dataOut.close();
s.close();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.DataInputStream;
public class J_Client {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Socket s=new Socket("localhost",5000);
DataInputStream dataIn=new DataInputStream(s.getInputStream());
System.out.println("客户端接收:"+dataIn.readUTF());
dataIn.close();
s.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
UDP:
import java.net.DatagramSocket;
import java.net.DatagramPacket;
import java.net.SocketException;
import java.net.InetAddress;
public class J_UdpServer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DatagramSocket dSocket;
DatagramPacket inPacket;
DatagramPacket outPacket;
InetAddress cAddr;
int cPort;
int count=0;
try {
dSocket=new DatagramSocket(8000);
while(true)
{
count++;
inPacket=new DatagramPacket(new byte[100],100);
dSocket.receive(inPacket); //接收数据包,存入inPacket
cAddr=inPacket.getAddress();
cPort=inPacket.getPort();
String s = new String(inPacket.getData(),0,inPacket.getData().length);
System.out.println("第"+count+"台设备接入");
System.out.println("Message:"+s);
System.out.println("ClientAddr:"+cAddr.getHostName());
System.out.println("ClientPort:"+cPort);
String outData="returnback_"+String.valueOf(count);
outPacket=new DatagramPacket(outData.getBytes(),outData.getBytes().length,cAddr,cPort);
dSocket.send(outPacket);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.net.DatagramSocket;
import java.net.DatagramPacket;
import java.net.SocketException;
import java.net.InetAddress;
public class J_UdpClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DatagramSocket dSocket;
DatagramPacket inPacket;
DatagramPacket outPacket;
InetAddress sAddr;
try {
dSocket=new DatagramSocket();
sAddr=InetAddress.getByName("localhost");
String outData="请求连接...";
outPacket=new DatagramPacket(outData.getBytes(),outData.getBytes().length,sAddr,8000);
dSocket.send(outPacket); //发送数据包
inPacket=new DatagramPacket(new byte[100],100);
dSocket.receive(inPacket); //接收数据包,存入inPacket
String s = new String(inPacket.getData(),0,inPacket.getData().length);
System.out.println("Message:"+s);
System.out.println("ServerAddr:"+inPacket.getAddress().getHostName());
System.out.println("ServerPort:"+inPacket.getPort());
dSocket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}