Socket通信——Java语言
来源:互联网 发布:mac地址认证 编辑:程序博客网 时间:2024/05/22 15:37
Java中也提供了基于TCP和UDP的Socket,Java对于socket的封装更加“高层”,
使用起来比起C语言要简单一些,当然随之而来的是灵活性的降低,不过在很多情况下java的socket已经够用了
直接看代码
TCP Socket
TCP Socketimport java.io.DataInputStream;import java.io.DataOutput;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class TCPServer {public static void main(String[] args) throws IOException {ServerSocket ss = new ServerSocket(6666);while (true) {Socket s = ss.accept();DataInputStream dis = new DataInputStream(s.getInputStream());DataOutput dos = new DataOutputStream(s.getOutputStream());System.out.print(dis.readUTF());System.out.println(dis.readUTF());dos.writeUTF("bye");s.close();}}}import java.io.DataInputStream;import java.io.DataOutput;import java.io.DataOutputStream;import java.io.IOException;import java.net.Socket;import java.net.UnknownHostException;public class TCPClient {public static void main(String[] args) throws UnknownHostException, IOException {Socket s = new Socket("127.0.0.1",6666);DataInputStream dis = new DataInputStream(s.getInputStream());DataOutput dos = new DataOutputStream(s.getOutputStream());dos.writeUTF("hello ");dos.writeUTF("server");System.out.println(dis.readUTF());s.close();}}
UDP Socket
import java.io.ByteArrayInputStream;import java.io.DataInputStream;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;public class UDPServer {public static void main(String[] args) throws IOException {byte buf[] = new byte[1024];DatagramPacket dp = new DatagramPacket(buf, buf.length);DatagramSocket ds = new DatagramSocket(5678);while(true){ds.receive(dp);ByteArrayInputStream bais = new ByteArrayInputStream(buf);DataInputStream dis = new DataInputStream(bais);System.out.println(dis.readLong());}}}import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.UnknownHostException;public class UDPClient {public static void main(String[] args) throws UnknownHostException, IOException {long n = 10000L;ByteArrayOutputStream baos = new ByteArrayOutputStream();DataOutputStream dos = new DataOutputStream(baos);dos.writeLong(n);byte[] buf = baos.toByteArray();System.out.println(buf.length);DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1", 5678) );DatagramSocket ds = new DatagramSocket(9999);ds.send(dp);ds.close();}}
说明:
本文由giantpoplar发表于CSDN文章地址 http://blog.csdn.net/giantpoplar/article/details/47657325
转载请保留本说明
2 0
- Socket通信——Java语言
- Java Socket通信—聊天室
- java与c语言之间的socket通信—java客户端c服务器端
- java与c语言之间的socket通信—c客户端java服务器端
- java socket与C语言通信
- 基于Java语言实现Socket通信
- java socket编程——TCP通信
- java socket编程——UDP通信
- java网络通信——socket
- java—网络通信socket的例子
- Java中的网络编程—Socket通信
- C语言两个进程相互通信—socket
- C语言-Socket通信
- C语言-Socket通信
- c语言socket通信
- c语言socket通信
- C语言-Socket通信
- socket通信C语言
- windbg解决线程死锁
- Linux下设置IP的配置命令
- Socket通信——Windows下,使用Winsock,C++
- 实例讲解js中的预编译
- tomcat如何配置到Windows服务里
- Socket通信——Java语言
- IOS开发之实现App消息推送
- Mac 实用工具
- 字节数组byte[]和整型,浮点型数据的转换——Java代码
- jsp/servlet相关技术 (二) --- jsp的原理、注释、声明、脚本等
- cocos2dx关于size的知识
- HDU 1285--确定比赛名次【拓扑排序 && 邻接表实现】
- excel表格添加文字太长了,需要换行?
- MySQL主主同步主键冲突处理