1、Linux下实现简单的TCP服务器与客户端通信
一直收的那个就不要写输入的代码了,直接无限读取就可以。
一直发的那个就不要写输出的代码版了,直接无限输入就可以;
当然如果想两个都想在服务器和客户端各种实现,那么加入多线程吧。一权个线程只管输入,一个线程只管输出
2、VB中有tcp服务器和客户端,当两个客户端都连接上服务器的时候。客户端之间可以通信吗?
两客户端不能直接通信;
如需通讯,可以由服务器端中转。
3、1.一个TCP服务器用来和n个客户端同步相连,需要多少个socket?
你好;1:与N个客户端相连的话;服务器都有一个对应的socket;也就是N个
2:为什么TCP的C/S应用中,服务器程序要先于客户端程序执行 因为客户端要连接服务器之前先要知道服务器的IP地址和端口号 而且这个端口号是处于监听状态的;如果服务器不先启动 那么也不可能绑定这个端口号 客户端根本连接不上
而UDP的C/S应用中,客户端程序先于服务器程序执行?
如果是通过UDP协议的话;这个没有服务器和客户端之分 是相对独立的个体;如果我是客户端;我只要开启一个端口 绑定这个端口 那么人家知道我的IP地址和这个端口号 可以直接发信息给我 不用连接我;反之对方也一样 希望能帮到你
4、TCP协议的服务器和客户端的配对问题
可以使用telnet命令代替那个助手,测试服务端是否可连接,
如果能telnet能连上,至少说明服务回端答服务端口在正常监听,
如果telnet连接失败,说明服务端有问题。
网络调试助手没用过,你用它随便连接一个网站的80端口试试,看你的用法是不是正确。
5、求tcp socket 客户端的服务器端的区别
服务在连接前监听,客户端主动发起连接,就着点区别。连接上后,两者对等
6、TCP/IP 使用Socket 实现客户端与服务器端通信
对于服务器,你先创建一个套接字(socket),然后bind绑定一个套接地址,然后你在用listen,此时你的服务器会一直阻塞在这,处于监听状态,检查是否有客户端来connect,一旦有的话,你的服务器就会accept。
所以,是你的服务器是处于监听状态,监听是否有客户端,然后由客户端来连接服务器,服务器接受客户端的连接,而不是服务器去连接客户端。
7、在电脑读取modbus tcp设备的数据应该开发客户端还是服务器?
modbus tcp 没有主站、从站之分,但是有服务器(Server)与客户端(Client)之分:发出数据请求的一方为客户端(Client),做出数据应答的的一方为服务器(Server)。服务器(Server)与客户端(Client)分别类似于modbus rtu从站、主站的作用,但它们之间没有任何关系。
ModBus TCP 是一种通信协议:
一端是 服务器端,连接的另一端 就是 客户端,
主端 应该是 客户端,被动的从端 应该是服务器端。
(7)tcp服务器和客户端扩展资料:
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
8、每台电脑既是客户端也是服务器,用udp还是tcp?
如果客户端也是服务器,那么使用udp还是tcp取决于服务器实用的服务写程序的程序员的写法,所以说这种问题,你应该首先问编写程序的程序员。一条路从A点去B点,有3条路,我怎么知道当时那个人怎么选的。
9、TCP服务器如何检测客户端的IP和端口?
你熟悉socket API不?如果不熟悉的话建议先看看socket编程的文档。这是链接地址:http://msdn.microsoft.com/en-us/library/ms738545(v=VS.85).aspx
一般服务端的sokcet API调用顺序为:
bind() // 设置服务端口
listen() // 等待客户端连接
accept() // 与客户端建立连接
请参考:http://msdn.microsoft.com/en-us/library/ms737526(v=VS.85).aspx
这是accept函数的原型:
SOCKET accept(
__in SOCKET s,
__out struct sockaddr *addr,
__inout int *addrlen
);
第二个参数, addr,包含了客户端的IP地址和端口。你可以认为这就是客户端的IP和端口。但是,要注意的是这个IP不一定就完全等价于客户端本机的端口。比如:客户端在一个局域网里,IP地址是192.168.1.100,然后它通过ADSL路由连接到internet,再通过internet连接到服务端。这个时候,服务端获得的客户端IP地址就可能是那个ADSL路由的IP。
10、TCP服务器和客户机编程
真费时间呢…… import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;public class TcpServer {
public static void main(String[] args) {
try {
final int PORT = 8888;
ServerSocket serverSocket = new ServerSocket(PORT);
Socket socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); String line;
while((line = in.readLine()) != null) {
System.out.println("server got msg " + line + " from " + socket.getRemoteSocketAddress());
line = "I am server!";
out.println(line);
System.out.println("server sent size(byte): " + line.getBytes().length);
} out.close();
in.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
System.out.println(e);
System.exit(1);
}
}
}
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;public class TcpClient {
public static void main(String[] args) throws IOException {
try {
final String SERVER_ADDRESS = "127.0.0.1";
final int PORT = 8888;
Socket socket = new Socket(SERVER_ADDRESS,PORT); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); String line;
line = "A line sent by the client";
out.println(line); line = in.readLine();
System.out.println("client got: " + line); out.close();
in.close();
socket.close();
} catch (UnknownHostException e) {
System.out.println(e);
} catch (IOException e) {
System.out.println(e);
}
}
}