使用套接字Socked实现网络通讯(网络编程)
来源:互联网 发布:e店宝软件打不开 编辑:程序博客网 时间:2024/06/06 00:53
网络编程是一门很流行,也是很基本的技术,我们一般直接使用框架来实现网络编程,很少会直接写底层的通讯代码,我们有必要知道客户端究竟是怎么样服务器进行通讯的。我们来看一个简单的实例,就是客户端请求的时候,服务器把时间发到客户端。
第一步:编写服务器端代码。
import java.io.IOException;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Date;//服务器public class DateServer {public final static int portNumber = 4219; //端口号public DateServer() throws IOException {//创建绑定到特定端口的服务器套接字ServerSocket serverSocket = new ServerSocket(portNumber);while (true) {System.out.println("Waiting for a client");//侦听并接受到此套接字的连接Socket socket = serverSocket.accept(); System.out.println("Got a client, send a message");OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());String message = "Current date and time is " + new Date() + "\n";out.write(message);out.close();}}public static void main(String[] args) {try {DateServer dateServer = new DateServer();}catch(Exception e) {e.printStackTrace();}}}第二步:编写客户端代码,打印服务器的时间。
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.Reader;import java.net.InetAddress;import java.net.Socket;//客户机public class DateClient {public final static int portNumber = 4219; //端口号public DateClient() throws IOException {//创建一个流套接字并将其连接到指定 IP 地址的指定端口号Socket socket = new Socket(InetAddress.getLocalHost() ,portNumber);//返回此套接字的输入流Reader reader = new InputStreamReader(socket.getInputStream());BufferedReader input = new BufferedReader(reader);System.out.println("message is '" + input.readLine() + "'");}public static void main(String[] args) {try {DateClient dateClient = new DateClient();}catch(Exception e) {e.printStackTrace();}}}总结:套接字是网络通讯的必要部分,套接字由ip地址和端口号组成,通过套接字也可以得到输入流和输出流。运行程序顺序为:先运行服务器端代码,然后运行客户端代码。
0 0
- 使用套接字Socked实现网络通讯(网络编程)
- 网络通讯之套接字编程
- 使用windows套接字进行网络编程
- 网络编程--套接字的简单使用
- 网络套接字编程
- UNIX网络编程——使用select 实现套接字I/O超时
- <网络编程培训之六> 使用原始套接字实现Ping
- 【网络编程】使用流式套接字实现简单的客户端/服务端通信过程
- 使用ThreadingMixIn实现多线程套接字服务器--《Python网络编程攻略》
- Java套接字实现网络编程之基础篇1
- Java套接字实现网络编程之基础篇2
- Java套接字实现网络编程之基础篇
- Java套接字实现网络编程之基础篇(1)
- Linux网络编程之原始套接字-ping协议实现
- Linux网络编程之原始套接字-ping协议实现
- Linux网络编程之原始套接字-ping协议实现
- 《网络编程》原始套接字 ---ping程序实现
- 【网络编程】利用流式套接字实现文件传输实验
- node.js redis
- 使用ListView实现汽泡短信聊天
- 如何连接两台电脑传文件
- 【解决方案】Http请求报错
- 白鸡问题
- 使用套接字Socked实现网络通讯(网络编程)
- JS解析json数据(如何将json字符串转化为数组)
- 数字信号处理A
- Java中使用MATLAB作图
- Orcale 12C 安装
- UI组件之TextView及其子类(三)ToggleButton和Switch
- modal 控制器的样式
- java 正则(4) 不常用 / 贪婪匹配 / 非捕获组 / 向前引用 / flag 简写
- 文章标题