JAVA的Socket
来源:互联网 发布:淘宝活动优惠券名称 编辑:程序博客网 时间:2024/06/03 16:26
Socket编程步骤
基于TCP的Socket编程步骤:
1)服务器程序编写:
①调用ServerSocket(int port)创建一个服务器端套接字,并绑定到指定端口上;
ServerSocket server = new ServerSocket(port);
②调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字;
Socket socket = server.accept();
③调用Socket类的getInputStream获取输入流,开始网络数据的接收;
InputStream in = socket.getInputStream();
④最后关闭通信套接字。
socket.close();
2)客户端程序编写:
①调用Socket()创建一个流套接字,并连接到服务器端;
Socket socket = new Socket(ip, port);
②调用Socket类的getOutputStream()获取输出流,开始网络数据的发送;
OutputStream out = socket.getOutputStream();
③调用flush方法强制把缓存中的输出流输出(并清空缓存区),确保数据的发送;
out.flush();
④最后关闭通信套接字
socket.close();
--------------------------------------------------------------------------------------------------
服务器例子:
package t;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class server {
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
InputStream is=s.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String str;
while((str=br.readLine())!=null) {
System.out.println(str);
}
br.close();
isr.close();
is.close();
s.close();
ss.close();
}
}
客户端例子:
//127.0.0.1是回送IP地址,测试用,指自己的主机。
package t;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class user {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket s=new Socket("127.0.0.1",8888);
OutputStream os=s.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
PrintWriter pw=new PrintWriter(osw);
pw.println("hang1");
pw.println("hang2");
pw.flush();
pw.close();
osw.close();
os.close();
s.close();
}
}
先运行服务器例子,后运行客户端例子,然后在控制台输出:
hang1
hang2
--------------------------------------------------------------------------------------------------
基于UDP的Socket编程步骤:
1)接收端程序编写:
①调用DatagramSocket(int port)创建一个数据报套接字,并绑定到指定端口上;
②调用DatagramPacket(byte[] buf, int length),建立一个字节数组以接收UDP包 ;
③调用DatagramSocket类的receive(),接收UDP包;
④最后关闭数据报套接字。
2)发送端程序编写:
①调用DatagramSocket()创建一个数据报套接字;
②调用DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port),建立要发送的UDP包;
③调用DatagramSocket类的send(),发送UDP包;
④最后关闭数据报套接字。
阅读全文
0 0
- JAVA 的Socket机制
- JAVA 的Socket机制
- JAVA 的Socket机制
- java的Socket编程
- Java的Socket编程
- java socket的用法
- java的socket学习
- 双向的java socket
- Java的Socket(一)
- Java的Socket(二)
- java的socket通信
- java的socket编程
- java Socket的选项
- Java的socket编程
- JAVA的Socket编程
- Java的Socket编程
- java的socket编程
- java的Socket
- android 图片工具类 (图片压缩 图片长按缓存 Bitmap转Base64 Bitmap转File File转Bitmap 打开系统相册解析URI)
- 一个优秀的CIO,应该具备如何的知识体系和管理能力?
- DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN原理总结及对比
- 数据结构——序列
- Wireshark基本介绍和学习--TCP三次握手
- JAVA的Socket
- 杨辉三角
- [测试]Linux操作系统查看磁盘剩余空间
- 在开始强化学习前,你所需要了解的知识。
- 总结C语言操作符
- Python获取脚本所在目录路径
- 数据结构-矩阵快速转置
- 10---------二叉树的算法的简单应用
- repaint()和显示时间