JavaShuo
栏目
标签
初写TCP通讯程序
时间 2020-09-05
标签
tcp
通讯
程序
栏目
系统网络
繁體版
原文
原文链接
Tcp通讯协议是基于OSI标准协议,有应用层、传输层、网络层、物理层+数据链路层。TCP采用三次握手,
所谓“三次握手”就是A向B发出链接请求,B向A发出收到消息,而后A向B发出收到消息。
这样能够提升通讯链接的可靠性。TCP通讯能够用Socket套接字实现,Socket正如它的英文名称“插座”同样,两台电脑要想实现通讯,每台电脑就是一个插座,用一根虚拟的导线将两个插座链接一块儿,就能够实现通讯。
下面看程序:
先看服务器端:
package
com.dr.me;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.PrintStream;
import
java.net.ServerSocket;
import
java.net.Socket;
public
class
MyServer
{
public
static
void
main(String args[])
throws
IOException
{
//
建立一个ServerSocket对象实例
ServerSocket ss
=
new
ServerSocket(
1526
);
//
建立一个Socket实例对象,用来接受客户端传过来的Socket
Socket client
=
null
;
System.out.println(
"
等待客户端的链接、、、、、
"
);
//
程序运行到此就会阻塞,除非有客户端链接
client
=
ss.accept();
System.out.println(
"
有客户链接上了---
"
);
//
建立和客户端的通讯通道
BufferedReader in
=
new
BufferedReader(
new
InputStreamReader(client.getInputStream()));
PrintStream out
=
new
PrintStream(client.getOutputStream());
//
向客户端输出信息
out.println(
"
Hello how are you?
"
);
//
关闭输入输出流
in.close();
out.close();
}
}
在此程序中首先建立了一个ServerSocket对象,并指明了它的端口,客户端经过IP和这个端口和服务器端进行链接。程序运行到此:
client=ss.accept();就不在往下运行直到有客户端链接上,在继续往下执行。经过 BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintStream out=new PrintStream(client.getOutputStream());
这条语句就和客户端创建了一根虚拟的通道。
看客户端程序:
package
com.dr.me;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.net.Socket;
import
java.net.UnknownHostException;
public
class
MyClient
{
public
static
void
main(String args[])
throws
UnknownHostException, IOException
{
//
建立Socket实例对象
Socket client
=
new
Socket(
"
LocalHost
"
,
1526
);
//
建立String对象用来盛放从服务器端传过来的信息,起一个缓冲做用
String str
=
null
;
//
和服务器端创建通讯链接
BufferedReader in
=
new
BufferedReader(
new
InputStreamReader(client.getInputStream()));
//
读取服务器端发过来的信息放在String对象中
str
=
in.readLine();
//
把信息输出到控制台上
System.out.println(str);
}
}
客户端程序:经过
Socket client=new Socket("LocalHost",1526);
新建一个Socket对象,并指明了要向哪台电脑创建链接及该电脑的端口,“LocalHost”是本台电脑的IP,也能够写成“127.0.0.1”,若是和其余电脑链接则改成那台电脑的IP。端口号必定要和服务器端的客户端一致,不然出现异常。
运行时首先启动服务器端程序,而后再启动客户端程序。
运行结果:
服务器端控制台显示:
启动服务器端显示:
客户端链接后显示:
客户端控制台显示:
这个程序只是简单说明了一下TCP协议,还有不少东西没有写出来,有不对的地方但愿你们批评指正,没时间了我还要上课,先写到这吧。
相关文章
1.
java编写TCP&&UDP方式的通讯程序
2.
TCP/IP通讯程序设计注意
3.
TCP/IP通讯程序设计方式
4.
多线程 udp通讯和 tcp通讯
5.
C#编程 TCP/IP通讯
6.
TCP协议通讯流程
7.
C# TCp 通讯
8.
socket通讯——TCP
9.
visionpro TCP通讯
10.
TCP/IP的TCP socket通讯过程
更多相关文章...
•
W3C 程序
-
W3C 教程
•
ASP 子程序
-
ASP 教程
•
算法总结-归并排序
•
适用于PHP初学者的学习线路和建议
相关标签/搜索
TCP通讯
通讯
通讯通道
tcp
通讯行业
Socket通讯
通讯系统
移动通讯
无线通讯
系统网络
TCP/IP教程
PHP教程
MyBatis教程
教程
初学者
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
《给初学者的Windows Vista的补遗手册》之074
2.
CentoOS7.5下编译suricata-5.0.3及简单使用
3.
快速搭建网站
4.
使用u^2net打造属于自己的remove-the-background
5.
3.1.7 spark体系之分布式计算-scala编程-scala中模式匹配match
6.
小Demo大知识-通过控制Button移动来学习Android坐标
7.
maya检查和删除多重面
8.
Java大数据:大数据开发必须掌握的四种数据库
9.
强烈推荐几款IDEA插件,12款小白神器
10.
数字孪生体技术白皮书 附下载地址
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
java编写TCP&&UDP方式的通讯程序
2.
TCP/IP通讯程序设计注意
3.
TCP/IP通讯程序设计方式
4.
多线程 udp通讯和 tcp通讯
5.
C#编程 TCP/IP通讯
6.
TCP协议通讯流程
7.
C# TCp 通讯
8.
socket通讯——TCP
9.
visionpro TCP通讯
10.
TCP/IP的TCP socket通讯过程
>>更多相关文章<<