java socket编程 是什么协议

2024-05-14

1. java socket编程 是什么协议

Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一。如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的。本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程序。 
方法/步骤


Java中的socket编程 下面的部分将通过一些示例讲解一下如何使用socket编写客户端和服务器端的程序。 注意:在接下来的示例中,我将使用基于TCP/IP协议的socket编程,因为这个协议远远比UDP/IP使用的要广泛。并且所有的socket相关的类都位于java.net包下,所以在我们进行socket编程时需要引入这个包。 

写入数据 接下来就是写入请求数据,我们从客户端的socket对象中得到OutputStream对象,然后写入数据后。很类似文件IO的处理代码。 

打开服务器端的socket 

读取数据 通过上面得到的socket对象获取InputStream对象,然后安装文件IO一样读取数据即可。这里我们将内容打印出来。 

使用socket实现一个回声服务器,就是服务器会将客户端发送过来的数据传回给客户端。

java socket编程 是什么协议

2. 可以用 web socket 实现 P2P 吗

国外有人用Node.js已经实现了

3. java搞哪个方向会用到socket网络编程,p2p等技术

目前我学的程度 我感觉 j2ee 用不到socket, 关于网络操作的 都已经封装到web容器中了。

java搞哪个方向会用到socket网络编程,p2p等技术

4. 用JAVA Socket可以实现同一路由器下的两台电脑进行通信。那么如果不是同一路由器的电脑可以通信吗?

可以 但是会困难很多 就像qq这样的软件
首先就是把ttl设的大一些 这样保证过路由的时候不会把你的包扔了
其次就是一个NAT的问题,如果是你和固定ip的服务器连接还好,就怕是两个客户端点点互联,对等体的连接是有些困难的,因为所有的pc几乎都在NAT后面
比如你是192.168.0.1 而我是192.168.0.2 可是杂俩根本就不在一个网段,
这两个地址都是只是NAT后面的保留地址
过NAT的时候,可能你实际是123.1.1.1 而我是203.1.1.1 这次是这样 下次还会变 DHCP么
两个进程要想通信,就得知道彼此的真实socket
两个程序怎么知道彼此的ip呢?
这就需要一个固定ip的第三点(中心点服务器)
你和我上来都进行对固定ip的第三点连接 第三点就会拿到你和我的NAT前面的真实地址
然后第三方 把我的真实地址告诉你 把你的告诉我
这样咱们就可进行点对点了
这就像我不知道你的电话,你也不知道我的电话,咱们怎么联系
只能通过路人甲,这个路人甲的电话是固定且已知的,咱们都先给路人甲打电话,然后他手机就能显示你的和我的号码了,他再把彼此的号码发给对方,双方就知道对方的号码了,就可以互相打电话了
比如TCP与UDP的打洞和穿洞 就是这种NAT穿越技术 这是P2P的基础 也是真实网络环境下点点互联的一个比较普遍的方案

5. java p2p通信编程

p2p是一种基于TCP/IP的一个上层文件传输协议。应该不是你想要的。

要实现广域网中的双端通信。你肯定不能把对方的ip地址写死在程序里,必然要有一套发现机制。
要么就是以服务器为中心,大家把消息发给中心服务器,有服务器再转发给对方,就像发送邮件的SMTP。

现在即时通信的一些开源协议有一些,但不管基于什么原理实现,都少不了要有一台中央服务器做协助,不过估计你用不到太复杂的。简单实现就可以了。

java p2p通信编程

6. 求大神点拨:“Java Socket”编程采用TCP协议是否能够在一个线程里写出多

Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一。如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的。本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程序。 
方法/步骤

Java中的socket编程 下面的部分将通过一些示例讲解一下如何使用socket编写客户端和服务器端的程序。 注意:在接下来的示例中,我将使用基于TCP/IP协议的socket编程,因为这个协议远远比UDP/IP使用的要广泛。并且所有的socket相关的类都位于java.net包下,所以在我们进行socket编程时需要引入这个包。 

写入数据 接下来就是写入请求数据,我们从客户端的socket对象中得到OutputStream对象,然后写入数据后。很类似文件IO的处理代码。 

打开服务器端的socket 

读取数据 通过上面得到的socket对象获取InputStream对象,然后安装文件IO一样读取数据即可。这里我们将内容打印出来。 

使用socket实现一个回声服务器,就是服务器会将客户端发送过来的数据传回给客户端。

7. 基于P2P的网络聊天工具设计与实现,用Java开发,还需要用到哪些技术和平台?(为了完成开题报告)

feiq不就是开源的p2p,直接照搬即可

基于P2P的网络聊天工具设计与实现,用Java开发,还需要用到哪些技术和平台?(为了完成开题报告)

8. 用Java写了个很简单的P2P聊天程序,但其中关于TCP\IP、UDP过程有些疑问。

局域网一般不会 丢包的..  要不你直接tcp发信息   
   怕丢包 一般都是 三次握手呗  学tcp协议的时候不是讲过的呗   
  http://baike.baidu.com/view/1003841.htm  看看呗