java_TCP/UDP整合

原创 2012年03月29日 18:12:14

参考书籍:TCP/IP详解(三卷)
应用:防火墙,网络杀毒软件,游戏作弊软件
本章需要socket与io的结合
基于传输层TCP/UDP


········TCP编程
Socket :插座
java.net包:Socket  和 ServerSocket 分别在客户端和服务器端
建立连接所需要寻址信息为远程计算机的IP地址和端口号

端口:分UDP和TCP端口,每个65536个

TCP服务器端:
import java.net.*;
public class TCPServer{
public static void main(String[] args){
  ServerSocket ss = new ServerSocket(6666);   //服务器监听6666端口(监听模式)
  Socket s = ss.accept(); //接收client端(若没有信息,则一直等待)
  DataInputStream dis  = new DataInputStream(s.getInputStream()); //服务器端‘要’
  System.out.println(dis.readUTF());
  //关闭资源
  dis.close();
  s.close();
}
}

TCP客户端:
import java.net.*;
public class TCPClient{
public static void main(String[] args){
  Socket s = new Socket("127.0.0.1",6666);    //向本机6666端口建立连接
  OutputStream os = s.getOutputStream();  //相对于本身作为‘给’
  DataOutputStream dos = new DataOutputStream(os);  //流的转换(输出)
  dos.writeUTF("向服务器发送的消息");
  dos.flush();
  //关闭资源
  dos.close();
  s.close();
}
}

getInputStream  getOutputStream  getPort   getInetAddress   都是Socket的方法
在Socket s = ss.accept()后面语句即可


·········UDP编程(事实上无客户端和服务器端)

UDP服务器端:
import java.net.*;
public class TestUDPServer{
public static void main(String[] args){
  byte[] buf = new byte[1024];
  DatagramPacket dp  = new DatagramPacket(buf,buf.length);
  DatagramSocket ds = new DatagramSocket(5678);
  while(true){
   ds.recieve(dp);
   System.out.println(new String(buf,0,dp.getLength()));
  }
}
}


UDP客户端:
import java.net.*;
public class TestUDPClient{
public static void main(String[] args){
  byte[] buf = (new String("hello")).getBytes(); //把String打碎成byte
  DatagramPacket dp = new DatagramPacket(buf,buf.length,
    new InetSocketAddress("127.0.0.1",5678));
  DatagramSocket ds = new DatagramSocket(9999);
ds.send(dp);   //客户端端口9999向127.0.0.1的5678发送数据
ds.close();
}
}

SpringBoot整合Mina串口通讯

整合串口 @Configuration public class SerialServer { private static Log log = LogFactory.getLog(Ser...
  • u010082100
  • u010082100
  • 2017年06月02日 14:14
  • 1898

ENET库(可靠UDP)

ENet官网:http://enet.bespin.org/ NDK编译源码:http://download.csdn.net/download/yuanchunsi/10151620 ENet的目...
  • yuanchunsi
  • yuanchunsi
  • 2017年04月19日 19:40
  • 1280

什么情况下适合用UDP协议,什么情况下适合用TCP协议?

总的来说 TCP协议提供可靠的服务, UDP协议提供高效率的服务。高可靠性的TCP服务提供面向连接的服务,主要用于一次传输大量报文的情形, 如文件传输,远程登录等;高效率的UDP协议提供无连接的...
  • yxw_android
  • yxw_android
  • 2015年10月23日 10:51
  • 1401

基于java socket使用tcp udp进行简易控制台命令与文件传输

  • 2017年12月24日 16:29
  • 13KB
  • 下载

(java版本)p2p点对点文件传输系统(采用的是p2p传输 tcp/ip、udp协议均有采用 )

  • 2011年05月06日 13:31
  • 3.36MB
  • 下载

Java——UDP,tcp聊天室,基本功能实现,适合新手,发送表情,字体

  • 2017年05月28日 12:48
  • 1.4MB
  • 下载

java程序 NET C/S TCP UDP

  • 2011年12月28日 20:27
  • 107KB
  • 下载

java 用udp,tcp协议实现的局域网聊天程序 期末大作业 可私聊,群聊

  • 2017年12月26日 11:34
  • 55KB
  • 下载

Linux Java Spring TCP UDP NIO C语言 黑客 百度云资源共享

  • 2017年06月23日 21:26
  • 57B
  • 下载

Java TCP和 UDP测试代码

  • 2016年03月29日 09:03
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java_TCP/UDP整合
举报原因:
原因补充:

(最多只允许输入30个字)