现在有个终端,C语言的程序不停的往服务器上的9999端口里发字符串
怎么用JAVA写个程序把字符串读出来发送到202.181.53.128 的8888端口里
有两个问题我想不明
1、C语言没跟我的JAVA服务端建立连接的前提之下怎么发的数据?
2、我用JAVA写的服务器端的话,跟C语言建立不了连接能从端口里读数据吗?
难道要用UDP
socket高人指点
能写个源码更好了。
怎么用JAVA写个程序把字符串读出来发送到202.181.53.128 的8888端口里
有两个问题我想不明
1、C语言没跟我的JAVA服务端建立连接的前提之下怎么发的数据?
2、我用JAVA写的服务器端的话,跟C语言建立不了连接能从端口里读数据吗?
难道要用UDP
socket高人指点
能写个源码更好了。
2、直接用UDP向该端口读取数据就行了,UDP是不分严格的服务器端或是客户端端的。源码可以搜索相关的JAVA 网络通讯的帖子或是在CSDN下载里面搜索
C程序发给服务器了,服务器负责接受了,跟你的Java程序启动不启动没有关系。 一个是8888端口,一个是9999端口
2、我用JAVA写的服务器端的话,跟C语言建立不了连接能从端口里读数据吗?
你是跟服务器建立连接,不是直接跟C程序,服务器肯定开了9999端口,专门给你连接,读数据的。
另:socket通信,跟具体编程语言没有关系。
http://mybeautiful.javaeye.com/blog/659317
UDP
2、我用JAVA写的服务器端的话,跟C语言建立不了连接能从端口里读数据吗?
UDP
建立UDP之后,获取完数据之后怎么给指定的IP和端口发送数据啊?
UDP不管,只管传,对方收不收的到不管。。
楼主可以请教一下,终端或者服务器程序的相关技术人员,来具体了解一下。
另外,除了底层的TCP或者UDP协议以外,通信双方,在应用层面上,应该还有一个自定义的协议才对。
(也就是楼主说的那个什么字符串,最起码,字符串应该有编码吧?)我理解,大概,楼主是想用Java做个程序,把终端的信息转发到其他的主机上面,进行处理。
这样的话,Java程序,应该分两个逻辑部分,一个是服务端部分,监听原来服务端程序的端口
(前提是,以前该端口的程序,要终结才行);另一个是客户端部分,远其他主机发送请求建立连接。当然,通过楼主所问的问题,可以看出,楼主对网络通信这个领域,了解的并不好。
网络通信,其实可以分为对等通信和不对等通信。对等通信,网络个节点的地位是平等的,谁都可以主动发起连接和接收其他节点的连接,现实当中P2P协议就是例子;而不对等的通信,说明网络上存在主导性的节点,其他节点处于从属低位,C/S架构的程序就是例子,网络中各客户端处于从属地位,由服务端统一进行协调处理。就TCP协议而言,一般来说,客户端程序只发起连接请求,是不会接受其他客户端的连接请求的。
当然,众所周知,一个连接,是双向的,既可以发送消息,也可以接收消息。
我所强调是哪一方发起这个连接。
而UDP协议,不存在连接一说。但是,发送方也可以根据具体应用层的协议,获得请求信息的应答信息。
可是所问非所答啊
即便现在是用UDP
但是需求让你接到数据之后往指定的IP和端口上发数据
我的意思是现在用UDP接收到数据之后怎么往指定的IP和端口上发数据
就这么简单
2.如果c终端主动发送socket通讯给java服务器端,可以索取到数据并且能够返回做交互通信。
然后把数据转发给置顶ip和端口。
就这么简单。
楼上的意思是即便是我用UDP接到数据之后,如果给指定端口发信息的话还要用TCP建立链接吗?
可能就用UDP吧 (⊙o⊙)