JAVA网络编程-----TCP沟通
java采纳TCP变速箱使用Socket和ServerSocket数据传输。
采纳tcp步模式数据传输:
1、设定client和服务器 ,分别对应Socket和ServerSocket
2、建立连接后。由Socket中间IO行数据的传输。
3、关闭Socket
相同,client与服务端是两个独立的应用程序。
样例演示tcp传输
1. tcp分client和服务端
2. client相应的对象是Socket,服务端相应的对象是ServerSocket。
client:
通过查阅socket对象。发如今该对象建立时。就能够连接指定主机,
由于tcp是面向连接的。所以在建立socket服务时, 就要有服务端存在, 并连接成功。
形成通道后。在该通道进行数据的传输。
需求:给server端发送一个文本数据
client代码:
1、 创建Socket服务,并指定到连接的主机和port。
2、 为了发送数据,应该获取socket流中的输出流。
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException; public class Clinet {
public static void main(String[] args) throws UnknownHostException,
IOException {
Socket s = new Socket("192.168.0.100", 20003);
OutputStreamos = s.getOutputStream();
os.write("weo你好".getBytes());
os.close();
}
}
需求:定义端点接收数据并打印在控制台上。
服务端代码:
1、建立服务端的socket服务,ServerSocket();并监听一个port
2、获取连接过来的client对象,通过ServerSocket的accpet方法。所以这种方法是堵塞式的,没有连接,就会等。
3、client假设发过来数据,那么client要使用相应的client对象,并获取到该client对象的读取流来读取发过来的数据。
并打印在控制台。
4.关闭服务端。(可选)
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket; public class Server {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(20003);
Socket s = ss.accept();
InputStream is = s.getInputStream();
byte[] buf = new byte[1024];
int rd;
while ((rd = is.read(buf)) != -1) {
String str = new String(buf, 0, rd);
System.out.println(str);
}
InetAddress ia = s.getInetAddress();
String ip = ia.getHostAddress();
String port = Integer.toString(s.getPort());
System.out.println(ip + port);
is.close();
ss.close();
}
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
JAVA网络编程-----TCP沟通的更多相关文章
- java 网络编程-tcp/udp
--转自:http://blog.csdn.net/nyzhl/article/details/1705039 直接把代码写在这里,解释看这里吧:http://blog.csdn.net/nyzhl/ ...
- java网络编程(TCP详解)
网络编程详解-TCP 一,TCP协议的特点 面向连接的协议(有发送端就一定要有接收端) 通过三次连接握手建立连接 通过四次握手断开连接 基于IO流传输数据 传输数据大小 ...
- java网络编程TCP传输—流操作—拿到源后的写入动作
在网络编程中的TCP传输里,拿到Socket的源后,应该怎么进行读写操作呢,下面我列举了两种方法,希望大家帮忙补充···· 1.利用byte数组作为一个缓冲区进行读写 客户端上传 //获取socket ...
- Java分享笔记:Java网络编程--TCP程序设计
[1] TCP编程的主要步骤 客户端(client): 1.创建Socket对象,构造方法的形参列表中需要InetAddress类对象和int型值,用来指明对方的IP地址和端口号. 2.通过Socke ...
- Java网络编程(TCP客户端)
TCP传输:两个端点建立连接后会有一个传输数据的通道,这个通道就称为流,而且是建立在网络基础上的流,之为socket流,该流中既可以读取也可以写入. TCP的两个端点:一个客户端:ServerSock ...
- JAVA网络编程TCP通信
Socket简介: Socket称为"套接字",描述IP地址和端口.在Internet上的主机一般运行多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定在一个端 ...
- java网络编程—TCP(1)
演示tcp的传输的客户端和服务端的互访. 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1,建立socket服务.指定要连接主机和端口. 2,获取socket流中的输出流. ...
- Java网络编程(TCP服务端)
/* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...
- Java网络编程のTCP/IP
TCP/IP参考模型和TCP/IP协议 与OSI参考模型相似,TCP/IP参考模型汲取了网络分层的思想,而且对网络的层次做了简化,并在网络各层都提供了完善的协议,这些协议构成了TCP/IP协议集,简称 ...
随机推荐
- android一些面试题目
1.ListView怎么提高滑动效率 2.说下你做过项目的包的构架,(联网,解析,activity,database) 重点 3.载入大量图片怎么做(包含小图和查看大图) 怎么降低一次跟server的 ...
- IM设计与实现的系统模块的聊天记录
到非常多开发IM系统的朋友都想实现聊天记录存储和查询这一不可或缺的功能,这里我就把自己前段时间为傲瑞通(OrayTalk)开发聊天记录模块的经验分享出来,供须要的朋友參考下. 一.整体设计 1.存储位 ...
- POJ 1475 Pushing Boxes 搜索- 两重BFS
题目地址: http://poj.org/problem?id=1475 两重BFS就行了,第一重是搜索箱子,第二重搜索人能不能到达推箱子的地方. AC代码: #include <iostrea ...
- Cocos移植Android-Android.mk编译后的文件
在以前的博客,我们使用的中年cocos工具C和C++源代码可以编译. 其实cocos工具读取<游戏project文件夹>\proj.android\jni\夹Android.mk文件,.A ...
- IIS6,IIS7中查看w3wp进程
当我们服务器创建了很多应用程序池,然后某个w3wp.exe进程占用CPU和内存过高,我们怎么查找这个w3wp.exe进程属于哪一个网站呢.其实微软为我们提供了很好的查看工具: 首先打开windows任 ...
- iOS 在TabViewController中的一个ViewController跳转到另一种ViewController
第一步: #import "AppDelegate.h" 步骤二: 在须要跳转的地方: AppDelegate *appDelegate = (AppDelegate *)[[UI ...
- FileUpload类别FileUpload1.FileName和FileUpload1.PostedFile.FileName差异
FileUpload1.FileName 用来获取client上使用 FileUpload 控件上载的文件的名称.此属性返回的文件名称不包括此文件在client上的路径. FileUpload1.Po ...
- Visual Studio 2010 将网站直接发布到远程站点
原文:Visual Studio 2010 将网站直接发布到远程站点 这次说下如何将web应用程序直接发布到IIS服务器站点!!! 问题的由来 本人每天要发布更新的程序,所以每次更新的时候要做的工作: ...
- RaspberryPI 连接rs232模块接线图
- 【原创】ZOJ_1649 Rescue 解题报告
Rescue Time Limit: 2 Seconds Memory Limit: 65536 KB Angel was caught by the MOLIGPY! He was put ...