网络编程-TCP程序实例(client端heserver端相互通信)

 1 package com.yyq;
 2
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.io.OutputStream;
 6 import java.net.InetAddress;
 7 import java.net.Socket;
 8
 9
10 /*
11  * 演示tcp的传输的客户端和服务端的互访
12  * 需求:客户端给服务端发送数据服务端获取信息后给客户端回送数据
13  */
14 /*
15  * 客户端
16  *  1.建立socket服务。指定要接收主机和端口
17  *  2.获取socket流中的输出流,将数据写入到该六种,通过网络发送到服务器
18  *  3.获取socket流中的输入流,将服务端反馈的数据获取到,并打印
19  *  4.关闭客户端资源。
20  *
21  */
22 public class TcpClient2 {
23     public static void main(String[] args) throws Exception {
24         Socket s = new Socket(InetAddress.getLocalHost(),4321);
25         OutputStream out = s.getOutputStream();
26         out.write("服务端,你好".getBytes());
27         InputStream in = s.getInputStream();
28         byte[] buf = new byte[1024];
29         int len = in.read(buf);
30         System.out.println(new String(buf,0,len));
31     }
32 }
33
34
35 package com.yyq;
36
37 import java.io.IOException;
38 import java.io.InputStream;
39 import java.io.OutputStream;
40 import java.net.ServerSocket;
41 import java.net.Socket;
42
43 public class TcpServer2 {
44     public static void main(String[] args) throws Exception {
45         ServerSocket ss = new ServerSocket(4321);
46         Socket s = ss.accept();
47         InputStream in = s.getInputStream();
48         byte[] buf = new byte[1024];
49         int len = in.read(buf);
50         System.out.println("ip:"+s.getInetAddress().getHostAddress());
51         System.out.println(new String(buf,0,len));
52         OutputStream out = s.getOutputStream();
53         Thread.sleep(10000);
54         out.write("你也好".getBytes());
55     }
56 }    
时间: 2024-10-10 16:46:17

网络编程-TCP程序实例(client端heserver端相互通信)的相关文章

网络编程-TCP程序实例(只是发送了数据,在服务器显示)

package com.yyq; import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; /* * tcp传输 * 1,tcp分为客户端和服务端 * 2,客户端对应的对象是socket * 服务器端对性的对象是serversocket */ /* * 客户端

网络编程-TCP程序实例(简单上传图片)

package netTest; /* * 客户端: * 1.服务端点 * 2.读取客户端已有的图片数据 * 3.通过socket输出流将数据发给服务端 * 4.读取服务端的反馈信息 * 5.关闭. * */ import java.io.*; import java.net.*; import java.util.concurrent.SynchronousQueue; public class Client { public static void main(String[] args) t

网络编程-TCP程序实例(上传文件)

package netTest; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; impo

Java网络编程TCP程序,服务器和客户机交互流程以及基本操作步骤。

1.什么是网络编程 网络编程其实就是实现两个计算机的数据交换(交互). 可以通过直接或间接的通过网络协议与其他的计算机进行通讯.(HTTP协议,TCP/IP协议等) 2.Tcp网络编程的实现流程 主要分为服务器端(Server)和客户端(Client). 通过这个图我们其实就可以了解了实现服务器和客户机交互过程是怎么样的了. 实现这些原理最重要的是Socket类也叫做套接字.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 服务器端 1.首先创建ServerSocket对象并

网络编程-UDP程序实例(基础)

1 package com.yyq; 2 3 import java.net.DatagramPacket; 4 import java.net.DatagramSocket; 5 import java.net.InetAddress; 6 import java.net.Socket; 7 import java.net.SocketException; 8 import java.nio.charset.MalformedInputException; 9 10 /* 11 * Socke

Socket网络编程(TCP/IP/端口/类)和实例

Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用.http协议在应用层运行. 02,传输层(Tanspot):传输层包括UDP和TCP,UDP几乎不对报文进行检查,而

网络编程TCP总结及实践-C语言

网络变成首先要注意IP和端口的转换,现在电脑基本上是主机字节序,存储按照小端方式,而在网络中传输统一使用大端方式,所以网络变成首先要注意字节序的转换. 一个常用的ip转换程序的实现: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #define CHIP(ip) (ip&0xff)<<24 |(ip&(0xff<&

python网络编程——TCP

<pre name="code" class="python"> 一.网络通信模式 对于网络通信,现在遵循的是TCP/IP协议组. 而现在设计的通信模式中,主要使用的是客户端/服务器编程,所谓的客户端就是我们用户所用的软件,而服务端则是程序开发人员根据客户端的需要设计的服务模式,为了是满足客户端的要求,实现和客户端进行正常通信. 二.套接字:通信的端点 对于tcp/Ip协议来说,它是一个多层协议族,分别是物理层,数据链路层,网络层,传输层,应用层.对于网

Socket网络编程--聊天程序(9)

这一节应该是聊天程序的最后一节了,现在回顾我们的聊天程序,看起来还有很多功能没有实现,但是不管怎么说,都还是不错的.这一节我们将讲多服务器问题(高大上的说法就是负载问题了.)至于聊天程序的文件发送(也即二进制文件发送例如图片)和单点登陆(就是多加一个数组fd_L[],用来记录是否已经登陆过了.),这些问题就不讨论了. 支持多服务器实现负载问题的聊天程序 今天才知道原来我们一直使用的select来处理IO多路复用的这个函数最多只能有1024个连接,因为内部实现里面的数组就是只有1024,多了不行.