用C语言写出基于TCP的C/S—客户端代码
时间: 2024-01-12 12:02:27 浏览: 88
|
|:--------------:|:------:|:---------:|
| 0 | i+i*i$ | |
|以下是一个简单的基于 TCP 的 C/S 客户端代码示例:
```c
#include <stdio.h>
#include < 5 | i | |
| 7 | + | |
| 10 | * | shift 10 |
(6)读入i
栈顶符号为状态10,输入符号为i,查表stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#define SERVER_IP "得到应该移进到状态5。
| 栈 | 输入 | 动作 |
|:-----------------:127.0.0.1" // 服务器 IP 地址
#define SERVER_PORT 8888 // 服务器端口号|:------:|:--------:|
| 0 | i+i*i$ | |
| 5 | i | |
| 7 | + | |
| 10 | * | |
|
int main()
{
// 创建套接字
int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (5 | i | shift 5 |
(7)读入$
栈顶符号为状态5,输入符号为sockfd < 0) {
perror("socket() error");
exit(-1);
}
// 设置服务器地址
struct$,查表得到应该规约为P。
| 栈 | 输入 | 动作 |
|: sockaddr_in server_addr;
bzero(&server_addr, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin---------------------:|:-------:|:--------:|
| 0 | i+i*i$ | |
| _port = htons(SERVER_PORT);
if (inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr) <= 0)5 | i | |
| 6 | +i | reduce 1 |
| 2 | + {
perror("inet_pton() error");
exit(-1);
}
// 连接服务器
if (connect(sockfd,i | shift 8 |
| 3 | *i | reduce 3 |
| 2 | *i | shift 10 |
| 5 | i | shift 5 |
| 7 | +i (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
perror("connect() error");
exit(-1);
| shift 7 |
| 10 | *i | shift 10 |
| 5 | $ }
// 发送数据
char msg[1024] = "Hello, server!";
if (send(sockfd, msg, strlen | reduce 5 |
| 1 | $ | |
最终结果为接受,说明输入串符合文(msg), 0) < 0) {
perror("send() error");
exit(-1);
}
// 接收数据法。
至此,使用LR分析法实现如上文法的语法分析器的过程就介绍完了。
阅读全文