Java 实现Socket,和UDP连接的一个样例
2010-04-02 17:20
537 查看
【socket】
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class TestSocket {
public static void main(String[] args) {
TestSocket ts=new TestSocket();
Server s=ts.new Server();
Client c=ts.new Client();
s.start();
c.start();
}
class Server extends Thread{
public void run(){
try {
//server socket
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("Server");
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String iString=dis.readUTF();
System.out.println("Server:"+iString);
dos.close();
os.close();
dis.close();
is.close();
s.close();
ss.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Client extends Thread{
public void run(){
try {
//client socket
Socket s=new Socket("127.0.0.1",8888);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("Client");
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String iString=dis.readUTF();
System.out.println("Client:"+iString);
dos.close();
os.close();
dis.close();
is.close();
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
【udp】
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class TestUDP {
public static void main(String args[]){
TestUDP tUDP=new TestUDP();
tUDP.new Server().start();
tUDP.new Client().start();
}
class Server extends Thread{
public void run(){
String sendStr="send";
try {
InetAddress ia = InetAddress.getByName("localhost");
DatagramSocket sds=new DatagramSocket();
DatagramPacket sdp=new DatagramPacket(sendStr.getBytes(),sendStr.length(),ia,5555);
sds.send(sdp);
sds.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Client extends Thread{
public void run(){
try {
byte b[]=new byte[1024];
DatagramSocket rds=new DatagramSocket(5555);
DatagramPacket rdp=new DatagramPacket(b,1024);
rds.receive(rdp);
System.out.println("receive:"+new String(b,0,rdp.getLength()));
rds.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class TestSocket {
public static void main(String[] args) {
TestSocket ts=new TestSocket();
Server s=ts.new Server();
Client c=ts.new Client();
s.start();
c.start();
}
class Server extends Thread{
public void run(){
try {
//server socket
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("Server");
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String iString=dis.readUTF();
System.out.println("Server:"+iString);
dos.close();
os.close();
dis.close();
is.close();
s.close();
ss.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Client extends Thread{
public void run(){
try {
//client socket
Socket s=new Socket("127.0.0.1",8888);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("Client");
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String iString=dis.readUTF();
System.out.println("Client:"+iString);
dos.close();
os.close();
dis.close();
is.close();
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
【udp】
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class TestUDP {
public static void main(String args[]){
TestUDP tUDP=new TestUDP();
tUDP.new Server().start();
tUDP.new Client().start();
}
class Server extends Thread{
public void run(){
String sendStr="send";
try {
InetAddress ia = InetAddress.getByName("localhost");
DatagramSocket sds=new DatagramSocket();
DatagramPacket sdp=new DatagramPacket(sendStr.getBytes(),sendStr.length(),ia,5555);
sds.send(sdp);
sds.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Client extends Thread{
public void run(){
try {
byte b[]=new byte[1024];
DatagramSocket rds=new DatagramSocket(5555);
DatagramPacket rdp=new DatagramPacket(b,1024);
rds.receive(rdp);
System.out.println("receive:"+new String(b,0,rdp.getLength()));
rds.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
相关文章推荐
- 运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接
- Java Socket实现多个客户端连接同一个服务端
- 运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接
- 运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接
- 运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接
- java中网络编程------UDP协议(实现步骤)DatagramSocket对象
- Java socket长连接代码实现
- 基于TCP和UDP的Socket实现(JAVA)
- Java 基于 UDP 实现 Socket中的多客户端通信
- [疯狂Java]UDP:MulticastSocket实现组播
- Android 基于Socket的长连接实现一个实时推送的功能
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- JAVA基于UDP的多点广播数据报技术的一个实现例子
- 什么是socket?什么是socket的长、短连接?java如何简单实现socket客户端和服务器?
- java实现socket客户端连接服务端
- 使用JAVA实现Socket通信,TCP、UDP简析。
- Java基于socket服务实现UDP协议的方法
- Spring MVC配置双数据源实现一个java项目同时连接两个数据库的方法
- Java基于UDP用Socket实现点对点聊天
- Java实现app接口和Socket消息传递(10)java连接MySQL实现App登录接口