[JAVA] Tcp客户端和服务器简单代码

服务器:

 1 import java.io.DataInputStream;
 2 import java.io.DataOutputStream;
 3 import java.io.IOException;
 4 import java.net.ServerSocket;
 5 import java.net.Socket;
 6
 7 public class TcpServer {
 8     public static void main(String [] args) throws IOException
 9     {
10         @SuppressWarnings("resource")
11         ServerSocket server=new ServerSocket(8000);
12         Socket s=null;
13         DataOutputStream dataOut=null;
14         DataInputStream  dataIn=null;
15         while(true){
16             try{
17                 s=server.accept();
18                 dataOut=new DataOutputStream(s.getOutputStream());
19                 dataIn =new DataInputStream(s.getInputStream());
20                 while(true){
21                     Byte c=dataIn.readByte();
22                     if(c==‘0‘){
23                         System.out.println("执行继电器快关变换!");
24                         dataOut.writeByte(‘Y‘);
25                     }else if(c==‘w‘){
26                         System.out.println("将温度值传给服务器!");
27                         dataOut.writeByte(2);
28                     }else if(c==‘s‘){
29                         System.out.println("将深度值传给服务器!");
30                         dataOut.writeByte(4);
31                     }else{
32                         System.out.println("错误命令返回!");
33                         dataOut.writeByte(‘N‘);
34                     }
35                 }
36             }catch(IOException e){}
37             dataOut.close();
38             dataIn.close();
39             s.close();
40         }
41     }
42 }

客户端代码:

 1 /*
 2 TCP客户端:输入命令从服务器获得数据
 3 输入:0即开关继电器,当服务器执行好任务时返回89
 4     w获得温度数据,服务器返回温度数据
 5     s获得水深数据,服务器返回水深数据
 6     其他输入均为无效输入,服务器返回78
 7 PS:服务器只接受1个char,返回也是一个char,上述数据均为16进制
 8 */
 9 import java.io.DataInputStream;
10 import java.io.DataOutputStream;
11 import java.io.IOException;
12 import java.net.InetAddress;
13 import java.net.Socket;
14 import java.util.Scanner;
15
16 public class TcpClient {
17     public static void main(String [] args) throws IOException
18     {
19         Socket s = null;
20         DataInputStream DataIn = null;
21         DataOutputStream DataOut = null;
22         try {
23             //s=new Socket(InetAddress.getByName("192.168.1.130"),8000);
24             s=new Socket("localhost",8000);
25             DataIn = new DataInputStream(s.getInputStream());
26             DataOut=new DataOutputStream(s.getOutputStream());
27             System.out.println("连接成功");
28             @SuppressWarnings("resource")
29             Scanner keyIn= new Scanner(System.in);
30             while(keyIn.hasNext()){
31                 String c=keyIn.nextLine();
32                 System.out.println("输入: "+c);
33                 if(c.length()==0)continue;
34                 DataOut.writeByte(c.charAt(0));
35                 System.out.println("收到: "+DataIn.readByte());
36             }
37             DataIn.close();
38             DataOut.close();
39             s.close();
40         } catch (IOException e) {
41             // TODO Auto-generated catch block
42             e.printStackTrace();
43         }
44         DataIn.close();
45         DataOut.close();
46         s.close();
47     }
48 }

[JAVA] Tcp客户端和服务器简单代码

时间: 2024-08-04 16:26:31

[JAVA] Tcp客户端和服务器简单代码的相关文章

C/C++ TCP客户端、服务器简单示例

使用VS2010新建2个项目,一个叫 "tcpserver" ,另一个叫 "tcpclient". 右击 "项目" --> "属性" --> "配置属性" --> "链接器" --> "输入" --> "附加依赖项" ,在右侧下拉框中点击 "编辑" 按钮,添加 "WS2_32.lib&qu

java实现客户端向服务器发送文件的操作

服务器源代码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket;

Java实验四 TCP客户端和服务器的应用

实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全 4.对通信内容进行摘要计算并验证 实验步骤 1.信息安全传送: 发送方A——————>接收方B A加密时,用B的公钥 B解密时,用B的私钥 发送方A对信息(明文)采用DES密钥加密,使用RSA加密前面的DES密钥信息,最终将混合信息进行传递.同时用hash函数将明文进行用作验证.    接收方B接收到信息后,用RSA解密DES密钥信息,再用RSA解密获取到的密钥信息解密密文信息,最终就可以得到我们要的信息(明文)

TCP客户端 服务端详细代码

本文章转自http://www.myexception.cn/program/1912019.html TCP网络编程中connect().listen()和accept()三者之间的关系 基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下: connect()函数 对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三次握手,而这个连接的过程是由内核完成,不是这个函数完成的,这个函数的作用仅仅是通知 Linux 内核,让 Li

Java 自定义客户端与服务器

一:浏览器如何请求数据基本原理 基本原理: 当浏览器输入地址向服务器请求数据时,实际上浏览器会在内部建立一个Socket对象,把http请求报文转变成byet[]字节,然后调用Socket的方法把这些数据发送到服务器的,例如请求www/baidu.com的域名来会解析成对应的IP地址,解析成:http://202.108.22.5 :80/login.aspx 浏览器在解析到IP地址后,做的第二步就是对指定的URL进行HTTP封装,把URL封装成http报文,浏览器把URL封装成HTTP报文后,

java TCP客户端 服务端 互访

服务端: 1, 创建socket服务器服务,服务器端为了让客户端可以连接上,必须提供端口,监听一个端口 2,获取客户端对象,通过客户端的socket流和对应的客户端进行通信 3,获取客户端的socket流的读取流 4,读取数据并显示在服务器端 5,关闭资源 package cn.net.tcp; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.

Socket TCP客户端和服务器的实现

import java.io.*; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { Socket socket = new Socket(); // 超时时间 socket.setSoTimeout(300

TCP客户端与服务器的实现

为了更容易理解,我们举一个小例子来说明服务器与客户端之间的连接过程. 有一个饭店,饭店里有服务员,服务员用于招待客人 特别要注意的是:要记住相关函数的各个参数都是什么,什么时候返回SOCKET_ERROR,什么时候返回INVALID_SOCKET 服务器 1 #include<stdio.h> 2 #include<winsock2.h> 3 #pragma comment(lib,"ws2_32.lib") 5 int main() 6 { 7 //初始化ws

linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动","拥塞避免","快速重传". 2 TCP socket建立和epoll监听实现 数据结构设计 linux环境下,应用层TCP消息体定义如下: typedef struct TcpMsg_s { TcpMsgHeader head; void* msg; }TcpM