如何在客户端上建立一个Socket与服务器端连接,包括连接的函数?

如何在客户端上建立一个Socket与服务器端连接,包括连接的函数?,第1张

进入mysql,创建一个新用户xuys:

格式:grant 权限 on 数据库名表名 用户@登录主机 identified by "用户密码";

grant select,update,insert,delete on to xuys@19216888234 identified by "xuys1234";

查看结果,执行:

use mysql;

select host,user,password from user;

可以看到在user表中已有刚才创建的xuys用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器,建议在开发时设为%。

update user set host = '%' where user = 'xuys';

2、 /mysqladmin -uroot -p21century reload

/mysqladmin -uroot -p21century shutdown

3、/mysqld_safe --user-root &

记住:对授权表的任何修改都需要重新reload,即执行第3步。

如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:

use mysql;

insert into db values('19216888234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

update db set host = '%' where user = 'xuys';

重复执行上面的第2、3步。

getpeername()

这个系统的调用十分简单。它将告诉你是谁在连接的另一端:

#include<sys/socketh>

int getpeername(int sockfd,struct sockaddr addr,int addrlen);

第一个参数是连接的数据流套接口文件描述符。

第二个参数是指向包含另一端的信息的数据结构sockaddr的指针。

第三个参数可以设置为sizeof(structsockaddr)。

如果出错,系统调用将返回-1。

一旦你获得了它们的地址,你可以使用inet_ntoa()或者gethostbyaddr()来得到更多的信息。

[目录]

gethostname()

系统调用gethostname()比系统调用getpeername()还简单。它返回程序正在运行的计算机的名字。系统调用gethostbyname()可以使用这个名字来决定你的机器的IP地址。

下面是一个例子:

#include<unistdh>

int gethostname(charhostname,size_tsize);

如果成功,gethostname将返回0。如果失败,它将返回-1。

Trackback: http://tbblogcsdnnet/TrackBackaspxPostId=1735515

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在客户端上建立一个Socket与服务器端连接,包括连接的函数?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情